В настоящее время я могу выполнить группировку, используя 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;