WPF之Treeview控件简单用法

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="122" HorizontalAlignment="Left" Margin="12,46,0,0" Name="listView1" VerticalAlignment="Top" Width="456" />


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

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

简单示例下载:https://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

          

posted @ 2013-08-02 11:19  如梦不是梦  阅读(1441)  评论(0编辑  收藏  举报