Группы сортировки списка просмотра (C #, WPF) - PullRequest
0 голосов
/ 09 января 2019

У меня есть список, который заполняется динамически. В списках элементы сгруппированы. Я пытаюсь отсортировать группы (не элементы внутри группы), потому что они каким-то образом перепутаны.

Мне удалось отсортировать элементы в группе, но я не нашел способа программировать сортировку групп. Кто-нибудь может дать мне подсказку, как это сделать или почему они вообще не отсортированы?

Код инициализации:

_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();

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Просто отнесите 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));
0 голосов
/ 09 января 2019

Это должно помочь:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...