案例地址:GitHub - microsoft/WPF-Samples: Repository for WPF related samples
一、运行界面
二、案例功能描述
分层级数据模板
知识点:
1、HierarchicalDataTemplate : 表示支持 System.Windows.Controls.HeaderedItemsControl 的 System.Windows.DataTemplate,例如 System.Windows.Controls.TreeViewItem 或 System.Windows.Controls.MenuItem。
三、分析代码
1、创建HierachicalDataTemplate分级数据模板
- 设置模板数据类型;
- 设置数据绑定,绑定数据分别是每一层级数据的属性名
- 设置数据展示的控件;
- 设置控件属性的数据绑定;
<HierarchicalDataTemplate DataType = "{x:Type local:League}"
ItemsSource = "{Binding Path=Divisions}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType = "{x:Type local:Division}"
ItemsSource = "{Binding Path=Teams}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
2、Menu 数据绑定
<Menu Name="menu1" DockPanel.Dock="Top" Margin="10,10,10,10">
<MenuItem Header="My Soccer Leagues"
ItemsSource="{Binding Source={StaticResource MyList}}" />
</Menu>
3、TreeView数据绑定
<TreeView>
<TreeViewItem ItemsSource="{Binding Source={StaticResource MyList}}" Header="My Soccer Leagues" />
</TreeView>