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>
をしかし、これはまだのみ、階層の最初のレベルのためにそれをしません。各レイヤーにどのように指定できますか?エフェクトコレクション?
ただ非常に小さな改善、値を変更するには、このような 何かSystem.Collections.IList to(System.Collections.IList)の値としてnull参照が存在しないようにするonの値がIListでない場合(InvalidCastExceptionがあるはずです) –