【问题标题】:How to bind a Command to SelectedItemChanged event of a TreeView如何将命令绑定到 TreeView 的 SelectedItemChanged 事件
【发布时间】:2012-12-12 05:18:48
【问题描述】:

有一个 Treeview 控件。

 <TreeView Name="ProductsHierarchy" FontFamily="Arial"  
                          Background="White" Margin="2" 
                          FontSize="12" SelectedItemChanged ="ProductsHierarchy_SelectedItemChanged">

有没有办法为树视图的 SelectedItemChanged 事件绑定命令,避免事件处理程序后面的代码?

【问题讨论】:

标签: wpf treeview command selecteditemchanged


【解决方案1】:

试试MVVM Toolkit's EventToCommand

“内置”(来自 Blend)的方法是使用交互性

<TreeView Name="ProductsHierarchy" FontFamily="Arial"  
                          Background="White" Margin="2" 
                          FontSize="12" SelectedItemChanged ="ProductsHierarchy_SelectedItemChanged">
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectedItemChanged">
            <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" CommandParameter="argument"/>
        </i:EventTrigger>
    </i:Interaction.Triggers>
</TreeView>

您必须包含命名空间:

xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"

这里的缺点是您无法访问EventArgs。这是solution(它是波兰语,但代码示例几乎不言自明)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 2011-11-03
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    相关资源
    最近更新 更多