Как добавить поддержку группирования и инкрементальной загрузки для GridView в UWP - PullRequest
0 голосов
/ 21 июня 2019

В настоящее время я могу выполнить группировку, используя CollectionViewSource экземпляр, который привязывается к GridView ItemSource. Все работает в соответствии с требованиями, но мне нужно добавить поддержку добавочной загрузки, и мне удалось сделать это в другом контексте, используя IncrementalLoadingCollection , но я не уверен, что это можно сделать вместе без каких-либо настроек пользовательского интерфейса.

В настоящее время мой код выглядит так:

<GridView
                    x:Name="test"
                          Margin="18,20,0,0"
                          Grid.Row="3"
                          Loaded="All_GridView_Loaded"
                          SelectionMode="Single"
                          ScrollViewer.VerticalScrollBarVisibility="Hidden"
                          HorizontalAlignment="Stretch">
                    <GridView.GroupStyle>
                        <GroupStyle>
                            <GroupStyle.HeaderTemplate>
                                <DataTemplate x:DataType="someType">
                                    <TextBlock Text="{Binding Key}"/>
                                </DataTemplate>
                            </GroupStyle.HeaderTemplate>
                        </GroupStyle>
                    </GridView.GroupStyle>
                    <GridView.ItemTemplate>
                        <DataTemplate x:DataType="someType" x:DefaultBindMode="OneWay">


                           .........
                  </DataTemplate>
                    </GridView.ItemTemplate>
                </GridView>

И код для привязки:

 var cvs = new CollectionViewSource { IsSourceGrouped = true };
     cvs.Source = some list ....;

     gridView.ItemsSource = cvs.View;

1 Ответ

1 голос
/ 22 июня 2019

Попробуйте использовать библиотеку помощников MVVM Джеймса Монтемагно, в ней есть Grouping и ObservableRangeCollection, о которых вы просили. Чтобы посмотреть быстрое демо, посмотрите его видео . Или просмотрите Project github

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...