1、xaml 文件

<Window x:Class="DataTemplate.HierarchicalDataTemplateWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window6" Height="268" Width="362">
    <Window.Resources>
        <!--数据源-->
        <XmlDataProvider x:Key="ds" Source="data.xml" XPath="Data/Grade"></XmlDataProvider>
        <!--年级模板-->
        <HierarchicalDataTemplate DataType="Grade" ItemsSource="{Binding XPath=Class}">
            <TextBlock Text="{Binding XPath=@Name}"></TextBlock>
        </HierarchicalDataTemplate>
        <!--班级模板-->
        <HierarchicalDataTemplate DataType="Class" ItemsSource="{Binding XPath=Group}">
            <RadioButton Content="{Binding XPath=@Name}" GroupName="gn"></RadioButton>
        </HierarchicalDataTemplate>
        <!--小组模板-->
        <HierarchicalDataTemplate DataType="Group" ItemsSource="{Binding XPath=Student}">
            <CheckBox Content="{Binding XPath=@Name}"></CheckBox>
        </HierarchicalDataTemplate>
    </Window.Resources>

    <Grid>
        <TreeView Margin="5" ItemsSource="{Binding Source={StaticResource ds}}">

</TreeView>
    </Grid>
</Window>

2、xaml后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace DataTemplate
{
    /// <summary>
    /// HierarchicalDataTemplateWindow.xaml 的交互逻辑
    /// </summary>
    public partial class HierarchicalDataTemplateWindow : Window
    {
        public HierarchicalDataTemplateWindow()
        {
            InitializeComponent();
        }
    }
}

3、xml文件:

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

最新文章

  1. ps一些图片的操作
  2. SPM paired t-test步骤
  3. junit批量测试
  4. python_在windows下安装配置python开发环境及Ulipad开发工具
  5. 文件服务器的详细配置之共享权限与NTFS权限的设置
  6. selenium+java 数据驱动
  7. stark组件之展示数据(查)
  8. 《Java程序设计》 第一周学习总结
  9. C语言程序设计--执行命令
  10. [No0000121]Python教程4/9-输入和输出
  11. python2和Python3异同总结
  12. 2017年UX设计流行的六大趋势
  13. Oracle SQL性能优化技巧大总结
  14. 安装第三方jar包的两种方式
  15. win10开始菜单任务栏点击无反应
  16. 【week10】psp
  17. vue-cli background iamge
  18. 编写高质量代码改善C#程序的157个建议——建议148:不重复代码
  19. Golang教程:结构体
  20. Django-【template】自定义过滤器和自定义标签

热门文章

  1. redis-Windows下安装与操作
  2. Spring Security 5.0.x 参考手册 【翻译自官方GIT-2018.06.12】
  3. BZOJ 2049 SDOI2008 洞穴勘测 LCT板子
  4. HDU 4565 So Easy!(数学+矩阵快速幂)(2013 ACM-ICPC长沙赛区全国邀请赛)
  5. Week1 Team Homework #1 from Z.XML-总结学长经验教训
  6. 微信公众号开发java框架:wx4j(MenuUtils篇)
  7. Linux IO乱序
  8. Linux 进程,线程,线程池
  9. const在c/c++中的区别
  10. nginx安装-del