上次介绍了数据绑定到ListBox上,今天我们把数据绑定到TreeView,和Menu上。其实不同点在于DataTemplate。这次不是用DataTemplate了,而是用HierarchicalDataTemplate

这是分层的数据模板,Hierarchical是分层的意思。DataTemplate是数据模板。这样记容易记住吧。

我们还是用上次的数据。

我们来看.xaml

<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中:

21,75,0,0" Name="treeView1" VerticalAlignment="Top" 
                  Width="167" >
            <TreeViewItem Header="比赛队伍"
                          ItemsSource="{Binding Source={StaticResource odp}}">
            </TreeViewItem>
        </TreeView>

可以按F5运行了。

MSDN 教程短片 WPF 21(绑定4-TreeView,Menu)

Menu绑定

menu1" VerticalAlignment="Top" Width="167" >
            <MenuItem Header="比赛队伍" ItemsSource="{Binding Source={StaticResource odp}}">
            </MenuItem>
        </Menu>

Menu绑定相对简单多了。

相关文章:

  • 2021-09-08
  • 2021-11-29
  • 2022-01-26
  • 2021-10-01
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2022-02-22
猜你喜欢
  • 2022-02-17
  • 2022-02-06
  • 2021-12-28
  • 2021-06-01
  • 2022-02-24
  • 2021-06-17
  • 2021-05-27
相关资源
相似解决方案