У меня есть список Layers
, связанный с TreeView
, где у каждого экземпляра есть список Effects
. Я показываю их через HierarchicalDataTemplate, который прекрасно работает, но я пытаюсь отсортировать их, используя SortDescriptions
.
Я не знаю, как это сделать в xaml, но при этом сортируются только элементы первого уровня, а не подпункты:
ICollectionView view = CollectionViewSource.GetDefaultView ( treeView1.ItemsSource );
view.SortDescriptions.Add ( new SortDescription ( "Name", ListSortDirection.Ascending ) );
Я пытаюсь отсортировать их сначала по .Color
, затем по .Name
.
Есть идеи?
РЕДАКТИРОВАТЬ: Я добавил этот код:
<Window.Resources>
<CollectionViewSource x:Key="SortedLayers" Source="{Binding AllLayers}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Color" />
<scm:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Window.Resources>
Но это все еще только для первого уровня иерархии. Как я могу указать его для каждого слоя. Влияет на коллекцию?