0

我有一个动态填充的列表。在列表中,项目被分组。我正在尝试对组(而不是组内的项目)进行排序,因为不知何故完全混淆了。

我能够对组内的项目进行排序,但没有找到对组进行编程排序的方法。有没有人可以给我一个提示如何做到这一点,或者为什么他们首先没有排序?

初始化代码:

_lvUsers.ItemsSource = _config.listTestBenches;
CollectionView view = CollectionView)CollectionViewSource.GetDefaultView(_lvUsers.ItemsSource);
PropertyGroupDescription groupDescription = new PropertyGroupDescription("type");
view.GroupDescriptions.Add(groupDescription);

更新图形用户界面:

ICollectionView view = CollectionViewSource.GetDefaultView(_config.listTestBenches);
view.Refresh();
4

2 回答 2

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));
于 2019-01-09T12:13:57.650 回答
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>
于 2019-01-09T12:08:30.623 回答