我有一個綁定到TreeView
的Layers
的列表,其中每個實例都有一個列表Effects
。我通過HierarchicalDataTemplate向他們展示,這很好用,但我試圖用SortDescriptions
對它們進行排序。如何在Xaml中使用SortDescriptions對TreeView項目進行排序?
我不知道如何在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>
但是,這仍然只是做它的層次結構的第一層。我怎樣才能爲每個layer.Effects集合指定它?
只是一個非常小的改進,改變價值作爲System.Collections.IList爲(System.Collections.IList)值以避免具有空引用excepti如果值不是IList(你應該有一個InvalidCastException) – 2011-08-23 09:30:41