0
Я создал CollectionViewSource следующим образом:CollectionViewSource Группировка "Все элементы"
<CollectionViewSource x:Key="MyGrouping" Source="{Binding MyCollection}">
<CollectionViewSource.SortDescriptions>
<componentModel:SortDescription PropertyName="Name"/>
</CollectionViewSource.SortDescriptions>
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="Type"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
Я тогда определим TabControl следующим образом:
<TabControl ItemsSource="{Binding Groups, Source={StaticResource MyGrouping}}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False">
<DataGrid.Resources>
.....
Все группировка работает отлично. Однако я хотел добавить дополнительную вкладку, содержащую ВСЕ элементы (негруппированные).
Есть ли простой подход к mvvm для этого? Любая помощь будет принята с благодарностью.
Это прекрасно работает! Спасибо! – gleng
Bill, как бы вы получили базовую сортировку (из xaml) и применили ее к новой группировке (все элементы)? – gleng
Ага, вот что я имею в виду базовую идею. Если вы хотите добавить больше функциональных возможностей, таких как сортировка и фильтрация, придет боль. Я этого не делал. Вы можете прислушиваться к событию CollectionChanged SortDescriptions, а затем сортировать _allGroup вручную в обработчике событий. –