天天看點

WPF 21(綁定4-TreeView,Menu)

上次介紹了資料綁定到ListBox上,今天我們把資料綁定到TreeView,和Menu上。其實不同點在于DataTemplate。這次不是用DataTemplate了,而是用HierarchicalDataTemplate

這是分層的資料模闆,Hierarchical是分層的意思。DataTemplate是資料模闆。這樣記容易記住吧。

我們還是用上次的資料。

我們來看.xaml

WPF 21(綁定4-TreeView,Menu)
<Window.Resources> <ObjectDataProvider x:Key="odp" ObjectType="{x:Type src:LeagueList}"/> <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> </Window.Resources>

這裡不要忘了添加自己命名的命名空間src。

HierarchicalDataTemplate 中的DataType是:擷取或設定此 DataTemplate 所針對的類型。

ItemsSource是綁定下一層資料類。

TreeView綁定

接下來看TreeView中:

WPF 21(綁定4-TreeView,Menu)
<TreeView Height="200" HorizontalAlignment="Left" Margin="21,75,0,0" Name="treeView1" VerticalAlignment="Top" Width="167" > <TreeViewItem Header="比賽隊伍" ItemsSource="{Binding Source={StaticResource odp}}"> </TreeViewItem> </TreeView>

可以按F5運作了。

WPF 21(綁定4-TreeView,Menu)

Menu綁定

WPF 21(綁定4-TreeView,Menu)
<Menu Height="23" HorizontalAlignment="Left" Margin="21,20,0,0" Name="menu1" VerticalAlignment="Top" Width="167" > <MenuItem Header="比賽隊伍" ItemsSource="{Binding Source={StaticResource odp}}"> </MenuItem> </Menu>

Menu綁定相對簡單多了。

UWP