问题描述:左侧treeview控件中点击不同类别的节点时,右侧的页面会显示不同的权限。比如对于My Publications,拥有Modify和Delete两种权限,对于My Subscriptions,只拥有Unsubscribe的权限。

WPF中TreeView控件SelectedItemChanged方法的MVVM绑定

 

 WPF中TreeView控件SelectedItemChanged方法的MVVM绑定

 

 我想到的办法是将权限绑定到TreeView控件的SelectedItemChanged方法,也就是说点击My Publications下面的子节点时,Modify和Delete两个Button控件是可见的,点击My Subscriptions下面的子节点时,Unsubscribe这个Button控件是可见的。

对于SelectedItemChanged使用MVVM绑定,使用到了System.Windows.Interactivity程序集。

<TreeView Name="treeview" Grid.Column="0" ItemsSource="{Binding Path=Resources}">
            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectedItemChanged">
                    <i:InvokeCommandAction Command="{Binding Path=SelectedItemChangedCommand}" 
                                           CommandParameter="{Binding ElementName=treeview, Path=SelectedItem}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate DataType="{x:Type local:TreeNode}" ItemsSource="{Binding Path=ChildNodes}">
                    <Label Content="{Binding Path=NodeName}"/>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>
XAML代码

相关文章:

  • 2022-12-23
  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
猜你喜欢
  • 2021-07-10
  • 2022-12-23
  • 2019-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-31
相关资源
相似解决方案