<TreeView Name="treeView">
        <TreeView.ItemTemplate>
            <HierarchicalDataTemplate ItemsSource="{Binding Children}">
                <TextBlock Text="{Binding Name}"/>
            </HierarchicalDataTemplate>
        </TreeView.ItemTemplate>
    </TreeView>

注释:这里用到TreeView的ItemTemplate属性,通过对HierarchicalDataTemplate进行赋值,实现数据的动态绑定。HierarchicalDataTemplate:是以等级划分的数据模板的意思。
在上面的xaml文件中的Children、Name,在HierarchicalDataTemplate进行树的搭建之前,需要先在cs文件中,定义一个用于绑定的数据源DefinitionNode,如下:

2、数据源的定义

	public class DefinitionNode
    public string Name { get; set; }
    public IList<DefinitionNode> Children { get; set; }

上面的两步定义数据源模型及绑定数据

3、定义实际数据

	private void Window_Loaded(object sender, RoutedEventArgs e)
        DefinitionNode dNode = new DefinitionNode()
            Name = "一级",
            Children = new List<DefinitionNode>()
                new DefinitionNode()
                    Name = "二级",
                    Children = new List<DefinitionNode>()
                        new DefinitionNode() {Name = "三级" },
                        new DefinitionNode() {Name = "三级" }
        DefinitionNode dNode2 = new DefinitionNode()
            Name = "一级",
            Children = new List<DefinitionNode>()
                new DefinitionNode { Name = "二级" },
                new DefinitionNode {Name = "二级" }
        List<DefinitionNode> list = new List<DefinitionNode> { dNode, dNode2 };
        treeView.ItemsSource = list;

运行结果:
在这里插入图片描述

1、在.xaml文件中添加TreeView控件 &amp;lt;TreeView Name=&quot;treeView&quot;&amp;gt; &amp;lt;TreeView.ItemTemplate&amp;gt; &amp;lt;HierarchicalDataTemplate ItemsSource=&quot;{Binding Children}&quot;&amp;gt; &amp;lt;TextBl... 一级分类:01,02,03 二级分类:0101,0102,0103,0201,0202........ 三级分类:010101,010102,010103,010104.......... 数据库查询时使用 like '01%'就可得到一级分类01下的所有子分类,非常方便! 如果要列出所有分类的树型结构,只需用一条语句select * from pro_class order by code,
最近在学习wpf,习惯把自己学习的东西记下来。   刚开始接触的这个控件,有点不知道怎么用。网上看了下,好像大家都觉得不如winform里面的好使。反正,我以前是用mfc做界面的,对c#不熟。网上看了几个例子,自己动手做了一下,现在把大概步骤记录下来。我这里比较简单,没有用什么模式。网上有一篇《使用ViewModel模式来简化WPFTreeView》大家可以看看。   一、一个简单的树
扩展WPFTreeView,完成数据和拖拽功能。 WPF看了很长时间了,但一直没怎么动手实践,正好任务需要,扩展了WPF的标准TreeView控件,并作为基础控件,支持下面的功能: 数据
因为项目需要用到TreeView控件,由于是第一次在WPF用到,因此事先在网上搜了很多关于数据的方法介绍,个人经过实际应用,觉得WPF的HierarchicalDataTemplate义模板确实好用很多,但是今天在自己的WPF+MVVM项目使用了另一种方式。代码不妥之处,望赐教。 先说数据: 1、前台Xmal代码:(没有使用模板义) &lt...
Bind Treeview In WPF TreeView Xmal &lt;TreeView x:Name="TvWorkItem" Grid.Column="0" Grid.Row="2" Background="Black" ItemsSource="{Binding MenuDataSource}"
WPF TreeView控件可以通过数据的方式来显示树形结构数据。以下是实现的步骤: 1.数据源:可以使用任何.NET集合类作为数据源,例如ObservableCollection、List等等。每个数据项需要包含一个唯一的标识符和一个父级标识符。 2.创建TreeView控件并设置ItemsSource属性为数据源。 3.数据模板:为了显示数据项,需要义一个数据模板,它决了每个节点的外观。可以使用HierarchicalDataTemplate来实现树形结构。 4.设置ItemContainerStyle属性:设置TreeViewItem的样式,包括选状态、展开状态等。 下面是一个简单的例子: <TreeView ItemsSource="{Binding TreeData}"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Children}"> <TextBlock Text="{Binding Name}"/> </HierarchicalDataTemplate> </TreeView.ItemTemplate> <TreeView.ItemContainerStyle> <Style TargetType="{x:Type TreeViewItem}"> <Setter Property="IsExpanded" Value="{Binding IsExpanded}"/> <Setter Property="IsSelected" Value="{Binding IsSelected}"/> </Style> </TreeView.ItemContainerStyle> </TreeView> 其,TreeData是数据源,Name是节点显示的文本,Children是子节点的集合,IsExpanded和IsSelected是TreeViewItem的属性,用于展开和选状态的设置。 希望这个回答能对你有所帮助!