WPF 21(绑定4-TreeView,Menu)

上次介绍了数据绑定到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中:

 <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运行了。

image

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绑定相对简单多了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值