TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件

TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件。TreeViewItem 可以包含一个或多 TreeViewItem 对象作为后代。TreeView 定义为 TreeViewItem 对象层次结构。

TreeView 可以通过绑定到数据源并使用 HierarchicalDataTemplate 对象填充其树。数据源的示例包括 XmlDataProvider 和 ObservableCollection <T>对象。

一个简单的效果展示

我们先绑定一个简单的xml文件:xml如下

<?xml version="1.0" encoding="utf-8" ?>
<Data xmnl="">
<Grade Name="一年级">
<Class Name="甲班">
<Group Name="A组"></Group>
<Group Name="B组"></Group>
<Group Name="C组"></Group>
<Group Name="D组"></Group>
</Class>
<Class Name="乙班">
<Group Name="A组"></Group>
<Group Name="B组"></Group>
<Group Name="C组"></Group>
<Group Name="D组"></Group>
</Class>
</Grade>
<Grade Name="二年级">
<Class Name="乙班">
<Group Name="A组"></Group>
<Group Name="B组"></Group>
<Group Name="C组"></Group>
<Group Name="D组"></Group>
</Class>
</Grade>
<Grade Name="三年级">
<Class Name="丙班">
<Group Name="A组"></Group>
<Group Name="B组"></Group>
<Group Name="C组"></Group>
<Group Name="D组"></Group>
</Class>
</Grade>
</Data>

然后我们在xaml文件来定义数据模板:

   <Window.Resources >
<!--数据源-->
<XmlDataProvider x:Key="ds" Source="XMLFile1.xml" XPath="Data/Grade"/>
<!--年纪模板-->
<HierarchicalDataTemplate DataType="Grade" ItemsSource="{Binding XPath=Class}">
<TextBlock Text="{Binding XPath=@Name}"></TextBlock>
</HierarchicalDataTemplate>
<!--班级模板-->
<HierarchicalDataTemplate DataType="Class" ItemsSource="{Binding XPath=Group}">
<RadioButton GroupName="gn" Content="{Binding XPath=@Name}"></RadioButton>
</HierarchicalDataTemplate>
<!--小组模板-->
<HierarchicalDataTemplate DataType="Group" ItemsSource="{Binding XPath=Student}">
<CheckBox Content="{Binding XPath=@Name}"></CheckBox>
</HierarchicalDataTemplate>
</Window.Resources>

然后现在通过Treeview控件进行绑定即可:

 <TreeView  ItemsSource="{Binding Source={StaticResource ds}}" Height="" HorizontalAlignment="Left" Margin="12,46,0,0" Name="listView1" VerticalAlignment="Top" Width="" />

很简单吧,就那么一下就绑定好了

关于TreeView还有更多用法,这只是简单用法,更多请http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.controls.treeview.aspx

简单示例下载:http://files.cnblogs.com/BABLOVE/Treeview%E6%8E%A7%E4%BB%B6%E6%A8%A1%E6%9D%BF%E7%AE%80%E5%8D%95%E8%BF%90%E7%94%A8.rar

WPF之Treeview控件简单用法的更多相关文章

  1. WPF中TreeView控件的使用案例

    WPF总体来说还是比较方便的,其中变化最大的主要是Listview和Treeview控件,而且TreeView似乎在WPF是一个备受指责的控件,很多人说他不好用.我这个demo主要是在wpf中使用Tr ...

  2. WPF中TreeView控件数据绑定和后台动态添加数据(二)

    写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法.在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据 ...

  3. WPF中TreeView控件数据绑定和后台动态添加数据(一)

    数据绑定: 更新内容:补充在MVVM模式上的TreeView控件数据绑定的代码. xaml代码: <TreeView Name="syntaxTree" ItemsSourc ...

  4. WPF中TreeView控件SelectedItemChanged方法的MVVM绑定

    问题描述:左侧treeview控件中点击不同类别的节点时,右侧的页面会显示不同的权限.比如对于My Publications,拥有Modify和Delete两种权限,对于My Subscription ...

  5. WPF 自定义TreeView控件样式,仿QQ联系人列表

    一.前言 TreeView控件在项目中使用比较频繁,普通的TreeView并不能满足我们的需求.因此我们需要滴对TreeView进行改造.下面的内容将介绍仿QQ联系人TreeView样式及TreeVi ...

  6. 《WPF》Expander控件简单美化

    示例图: Expander控件功能很常见, 一般用于系统左侧的菜单收缩面板. 1.主要的组成 一个头部(header) 和 一个 内容(content) 组成. <Expander Expand ...

  7. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  8. WPF自定义分页控件,样式自定义,简单易用

    WPF自定义分页控件 做了许久伸手党,终于有机会贡献一波,搜索一下WPF分页控件,还是多,但是不太通用,主要就是样式问题,这个WPF很好解决,还有一个就是分页控件嘛,只关心几个数字的变动就行了,把页码 ...

  9. 抛砖引玉 【镜像控件】 WPF实现毛玻璃控件不要太简单

    原文:抛砖引玉 [镜像控件] WPF实现毛玻璃控件不要太简单 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Vblegend_2013/articl ...

随机推荐

  1. WPF ArrangeOverride与MeasureOverride

    1.MeasureOverride  是FrameworkElement.MeasureOverride 方法 当重写在派生类中,单位是对于子元素所需要布局的大小并确定FrameworkElement ...

  2. java从mysql导出数据例子

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  3. 推荐一个可视化的学习Git的好网站:LearnGitBranching

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:推荐一个可视化的学习Git的好网站:LearnGitBranching.

  4. [Eclipse]The type XXX cannot be resolved. It is indirectly referenced from required .class files

    在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误 ...

  5. Linux下搭建Oracle11g RAC(9)----创建RAC数据库

    接下来,使用DBCA来创建RAC数据库. ① 以oracle用户登录图形界面,执行dbca,进入DBCA的图形界面,选择第1项,创建RAC数据库: ② 选择创建数据库选项,Next: ③ 选择创建通用 ...

  6. 码表 Unicode GBK UTF8 示例

    Unicode的编码形式与对应的字符串相互转换 /**  * Unicode的编码形式与对应的字符串相互转换  * @author 白乾涛  */ public class UnicodeUtils  ...

  7. javascript中强制类型转换

    javascript开发过程中,强制类型转换一般发生在条件判断和==运算符.其他情况,发生的类型转换(与这两种情况也是基本类似,属于万变不离其宗的范畴),暂不讨论. == 双等运算符 考虑代码: a ...

  8. burp

    http://www.2cto.com/Article/201406/310929.html

  9. 關於Validform 控件 值得注意的地方

    Validform控件其實用起來挺方便的,直接百度就能找到官網,有直接的demo做參考.這些我就不提了,我所要說的是關於Validform控件的ajax的提交. Validform中有個參數ajaxP ...

  10. 反射+javacsv+scv文件构建资源获取

    1.反射之前已经写过,大家可以在http://www.cnblogs.com/myadmin/p/5282628.html中大概了解下.同时请大家指正. javacsv.jar:java中用来处理cs ...