Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将WPF TreeView绑定到对象_C#_Wpf_Xaml - Fatal编程技术网

C# 将WPF TreeView绑定到对象

C# 将WPF TreeView绑定到对象,c#,wpf,xaml,C#,Wpf,Xaml,如何将TreeView绑定到分组集合ListCollectionView 代码cs: ListCollectionView view=new ListCollectionView(Global._subjectCollection); view.GroupDescriptions.Add(new PropertyGroupDescription("Fund")); view.GroupDescriptions.Add(new PropertyGroupDescription("Cipher"))

如何将TreeView绑定到分组集合ListCollectionView

代码cs:

ListCollectionView view=new ListCollectionView(Global._subjectCollection);
view.GroupDescriptions.Add(new PropertyGroupDescription("Fund"));
view.GroupDescriptions.Add(new PropertyGroupDescription("Cipher"));
treeView1.ItemsSource = view.Groups;
代码XAML:

<TreeView>???</TreeView>
???

查看Bea Stollnitz的博客条目

您可以使用HierarchycalDataTemplate显示CollectionViewGroup。Name属性将具有分组依据的属性的值,因此Fund或Cipher的值,Items属性将具有外部分组的嵌套组和最内部分组的实际对象。它看起来像这样:

<Window.Resources>
    <!-- Template for actual object -->
    <DataTemplate x:Key="ThirdTemplate">
        <TextBlock Text="{Binding OtherData}"/>
    </DataTemplate>
    <!-- Template for Cipher groups -->
    <HierarchicalDataTemplate x:Key="SecondTemplate"
                              ItemsSource="{Binding Items}"
                              ItemTemplate="{StaticResource ThirdTemplate}">
        <TextBlock Text="{Binding Name}"/>
    </HierarchicalDataTemplate>
    <!-- Template for Fund groups -->
    <HierarchicalDataTemplate x:Key="FirstTemplate"
                              ItemsSource="{Binding Items}"
                              ItemTemplate="{StaticResource SecondTemplate}">
        <TextBlock Text="{Binding Name}"/>
    </HierarchicalDataTemplate>
</Window.Resources>
<TreeView Name="treeView1" ItemTemplate="{StaticResource FirstTemplate}"/>