Her örnekte Effects
listesinin bulunduğu TreeView
numaralı bağlama bağlanmış Layers
listesine sahibim. Onları harika çalışan bir HierarchicalDataTemplate ile gösteriyorum ama onları SortDescriptions
kullanarak sıralamaya çalışıyorum.Xaml'de SortDescriptions kullanarak TreeView öğeleri nasıl sıralanır?
xaml in bunu nasıl bilmiyorum ama yapıyor bu öğelerin yalnızca ilk düzeyini değil, alt öğeleri sıralar:
ICollectionView view = CollectionViewSource.GetDefaultView (treeView1.ItemsSource);
view.SortDescriptions.Add (new SortDescription ("Name", ListSortDirection.Ascending));
ben .Color
ilk sıralamak çalışıyorum, o zamana kadar .Name
.
Herhangi bir fikrin var mı?
DÜZENLEME: Bu kodu ekledi:
<Window.Resources>
<CollectionViewSource x:Key="SortedLayers" Source="{Binding AllLayers}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Color" />
<scm:SortDescription PropertyName="Name" />
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Window.Resources>
Ama bu hala sadece hiyerarşinin ilk seviye için yapıyor. Her katman için bunu nasıl belirleyebilirim?
Sadece çok küçük bir iyileşme değerini değiştirmek null reference excepti sahip olmaktan kaçınmak için System.Collections.IList (System.Collections.IList) değeri olarak değeri bir IList değilse (InvalidCastException olması gerekir) –