0
私は自分のWPF/VB Treeviewを正常に動作させてから、ライブソートとすべてのものを南に追加しようとしました。今私のアプリを実行すると、TreeViewコントロールに何も表示されません。ここに私がやったことだ:HierarchicalDataTemplateで並べ替えることはできません
追加このコンバータ:
<CollectionViewSource
x:Key="cvs"
IsLiveSortingRequested="True">
</CollectionViewSource>
<local:CollectionViewSorter x:Key="Sorter" />
と、この:
<TreeView.ItemTemplate>
<HierarchicalDataTemplate
ItemsSource="{Binding Path=ChildNodes, Source={StaticResource cvs}, Converter={StaticResource Sorter}, ConverterParameter=Name}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
私はこれを持ってWindow.Resourcesで
Public Class CollectionViewSorter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim collection As System.Collections.IList = TryCast(value, System.Collections.IList)
Dim view As New ListCollectionView(collection)
Dim sort As New SortDescription(parameter.ToString(), ListSortDirection.Ascending)
view.SortDescriptions.Add(sort)
Return view
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Return Nothing
End Function
End Class
そして最後に、私はdeでCollectionViewSource.Sourceを微コードビハインドとして:
Dim cvs As CollectionViewSource = CType(TryFindResource("cvs"), CollectionViewSource)
cvs.Source = Nodes
は、上記の何が問題になっているのですか?
EDIT:
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim collection As IList = TryCast(value, IList)
Return collection
End Function
とTreeViewコントロールがまだ空である:以下の私のコメントパー それが今、このですので、私は、コンバータの根性を削除しました。したがって、私の結論は、コンバータが問題の原因だが、私はそれを修正する方法を知らない。
@AnjumSKhanを見ていただきありがとうございます。はい、ノードはNodeのObserveableCollectionです。これはプロパティID、ParentID、およびNameを持つクラスです。私は、コレクションが正しく充填されていることを知っています。悲しいことに、あなたの提案は何の違いもありませんでした。 TreeViewはまだ空です。 – SezMe
ところで、私は問題がコンバーターにあると思うが、それは何が間違っているのかわからないし、それをどのように変更するか考えていないのでちょうど勘違いである。 – SezMe
まだ空のツリービューが表示されます。私はまた、コンバータの他のバリエーションを試みました。たとえば、作成したビューにDirectCastを追加してObservableCollectionに戻してみましたが、どちらも役に立ちませんでした。 – SezMe