wpf treeview绑定

poj*_*ojo 19 data-binding wpf treeview

是否有关于WPF中树视图绑定的初学者的简单教程?

如果有一个项目列表,我们应该在ItemsSource,DataType,ItemTemplate属性中写什么?

IList<string> items = new List<string>();
items.Add("item1");
items.Add("item2");
items.Add("item3");
Run Code Online (Sandbox Code Playgroud)

XAML代码:

<TreeView Name="treeView1">  
    <TreeView.Resources> <!-- what does it mean? -->
        <HierarchicalDataTemplate DataType="???" ItemsSource="{Binding ???}"></HierarchicalDataTemplate>  
    </TreeView.Resources>  
</TreeView>
Run Code Online (Sandbox Code Playgroud)

She*_*ock 26

为了完全理解如何将wpf treeview与数据绑定结合使用,我按顺序完成了以下教程 -

1)使用递归的树视图绑定的一个非常简单的例子

http://testdrivendevelopment.wordpress.com/2008/07/15/databinding-wpf-treeview-using-recursion/

2)Claus Konrads与treeview绑定数据的简单示例.这是我遇到过的最简单的例子,应该让任何新手都能加快速度.

http://blog.clauskonrad.net/2011/04/how-to-make-hierarchical-treeview.html

3)Mike Hillbergs教程详细介绍了treeview的细节,它与其他wpf控件的比较,以及如何绑定数据.

http://blogs.msdn.com/b/mikehillberg/archive/2009/10/30/treeview-and-hierarchicaldatatemplate-step-by-step.aspx


geo*_*kal 9

诀窍是ItemsSource指向下一个集合。

例如,假设您有一个类型 A 的集合,每个 A 包含一个描述和一个类型 B 的集合;每个 B 包含一个描述和一个 C 类型的集合。绑定看起来像这样:

<TreeView Width="400" ItemsSource="{Binding CollectionOfA}">
    <TreeView.Resources>
        <HierarchicalDataTemplate DataType="{x:Type TypeA}" ItemsSource="{Binding CollectionOfB}">
            <TreeViewItem Header="{Binding TypeADescription}" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="{x:Type TypeB}" ItemsSource="{Binding CollectionOfC}">
            <TreeViewItem Header="{Binding TypeBDescription" />
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate DataType="{x:Type TypeC}">
            <TreeViewItem Header="{Binding TypeC}" />
        </HierarchicalDataTemplate>
    </TreeView.Resources>
</TreeView>
Run Code Online (Sandbox Code Playgroud)


thu*_*eys 5

看看Josh Smiths的优秀教程