zoukankan      html  css  js  c++  java
  • [WPF系列]-数据邦定之DataTemplate 对分层数据的支持

    到目前为止,我们仅讨论如何绑定和显示单个集合。 某些时候,您要绑定的集合包含其他集合。 HierarchicalDataTemplate 类专用于 HeaderedItemsControl 类型以显示这样的数据。

    实例演示

    在下面的示例中,ListLeagueList 是 League 对象的列表。 每个 League 对象都有一个 Name 和 Division 对象的集合。 每个 Division 都有一个 Name 和 Team 对象的集合,并且每个 Team 对象都有一个 Name。

    <Window x:Class="SDKSample.Window1"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="HierarchicalDataTemplate Sample"
      xmlns:src="clr-namespace:SDKSample">
      <DockPanel>
        <DockPanel.Resources>
          <src:ListLeagueList x:Key="MyList"/>
    
          <HierarchicalDataTemplate DataType    = "{x:Type src:League}"
                                    ItemsSource = "{Binding Path=Divisions}">
            <TextBlock Text="{Binding Path=Name}"/>
          </HierarchicalDataTemplate>
    
          <HierarchicalDataTemplate DataType    = "{x:Type src:Division}"
                                    ItemsSource = "{Binding Path=Teams}">
            <TextBlock Text="{Binding Path=Name}"/>
          </HierarchicalDataTemplate>
    
          <DataTemplate DataType="{x:Type src:Team}">
            <TextBlock Text="{Binding Path=Name}"/>
          </DataTemplate>
        </DockPanel.Resources>
    
        <Menu Name="menu1" DockPanel.Dock="Top" Margin="10,10,10,10">
            <MenuItem Header="My Soccer Leagues"
                      ItemsSource="{Binding Source={StaticResource MyList}}" />
        </Menu>
    
        <TreeView>
          <TreeViewItem ItemsSource="{Binding Source={StaticResource MyList}}" Header="My Soccer Leagues" />
        </TreeView>
    
      </DockPanel>
    </Window>

    该示例演示:通过使用 HierarchicalDataTemplate,您可以轻松地显示包含其他列表的列表数据。效果如图示:

    HierarchicalDataTemplate 示例屏幕快照

    参考

    [WPF系列]-TreeView的常用事项

  • 相关阅读:
    流式布局思想
    盒子的显隐
    高级布局 浮动 清浮动
    display总结 overflow知识
    边界圆角 盒模型布局 图片背景 精灵图
    io模型
    协程
    GIL 进程池与线程池
    守护进程 互斥锁 进程间通讯
    子进程
  • 原文地址:https://www.cnblogs.com/HQFZ/p/4169524.html
Copyright © 2011-2022 走看看