我有一个动态填充的列表。在列表中将项目分组。我正在尝试对组(而不是组中的项目)进行排序,因为某种程度上它们完全混在一起了。
我能够对组中的项目进行排序,但是找不到编程对组进行排序的方法。有谁能给我一个提示,怎么做或者为什么他们一开始没有分类?
初始化代码:
_lvUsers.ItemsSource = _config.listTestBenches;
CollectionView view = CollectionView)CollectionViewSource.GetDefaultView(_lvUsers.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("type");
view.GroupDescriptions.Add(groupDescription);
更新GUI:
ICollectionView view = CollectionViewSource.GetDefaultView(_config.listTestBenches);
view.Refresh();
答案 0 :(得分:0)
这应该有帮助:
<CollectionViewSource Source="{Binding list}" x:Key="cvs">
<CollectionViewSource.SortDescriptions>
<!--This will sort groups-->
<scm:SortDescription PropertyName="type" />
<!--This will sort items-->
<scm:SortDescription PropertyName="sortItemName"/>
</CollectionViewSource.SortDescriptions>
<CollectionViewSource.GroupDescriptions>
<dat:PropertyGroupDescription PropertyName="type" />
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
答案 1 :(得分:0)
只需将SortDescription
插入相同的CollectionView
:
_lvUsers.ItemsSource = _config.listTestBenches;
CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(_lvUsers.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("type");
view.GroupDescriptions.Add(groupDescription);
view.SortDescriptions.Add(new SortDescription("type", ListSortDirection.Ascending));