Передача и привязка нескольких строк и ObservableCollection к RefreshView / CollectionView?

#c# #xamarin #xamarin.forms #c#-4.0

#c# #xamarin #xamarin.forms #c #-4.0

Вопрос:

Довольно новые для Xamarin формы с большим опытом работы на C # ASP.Net Предыстория MVC. Мне интересно, какой наилучший шаблон будет в формах Xamarin для передачи более сложных моделей данных в представление xaml. Чего я пытаюсь достичь, так это передать следующую модель данных:

 String DateHeader
ObservableCollection<CustomObject>
String DateHeader
ObservableCollection<CustomObject>
String DateHeader
ObservableCollection<CustomObject>
String DateHeader
ObservableCollection<CustomObject>
String DateHeader
ObservableCollection<CustomObject>
 

К коллекции RefreshView:

 <RefreshView IsRefreshing="{Binding IsRefreshing}" Command="{Binding GetCustomObjectModelCommand}">
    <CollectionView ItemsSource="{Binding CustomObjectModel}">
        <CollectionView.ItemsLayout>
            <LinearItemsLayout Orientation="Vertical"/>
        </CollectionView.ItemsLayout>
        <CollectionView.ItemTemplate>
            <DataTemplate>
                <StackLayout Padding="10">
                    // Data goes here
                </StackLayout>
            </DataTemplate>
        </CollectionView.ItemTemplate>
    </CollectionView>
</RefreshView>
 

В настоящее время у меня есть модель передачи одного ObservableCollection и привязки, которая работает нормально. В ASP.Net MVC У меня только что был цикл each и в представлении, но я пытаюсь понять, как это достигается в формах Xamarin, поскольку там меньше логики представления.

Цель вывода пользовательского интерфейса будет примерно такой:

Заголовок даты

  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка

Заголовок даты

  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка

Заголовок даты

  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка
  • элемент коллекции списка

и т.д….

Ответ №1:

Я думаю, вы можете использовать функцию группировки в CollectionView

https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/collectionview/grouping

Комментарии:

1. Похоже, это именно то, что мне нужно! Аналогично ASP.Net Игрогруппировка MVC, которую я обычно использую. После некоторых исследований я обязательно отмечу как ответ, если кто-нибудь не укажет лучший шаблон. Спасибо!