【问题标题】:How to pass an index of a selected context menu item to a bound command?如何将选定上下文菜单项的索引传递给绑定命令?
【发布时间】:2013-01-30 12:26:11
【问题描述】:

如何将所有上下文菜单项绑定到一个命令,该命令会获取所调用菜单项的索引?我有一个 WPF/MVVM 项目。

<ContextMenu x:Key="cm" ItemsSource="{Binding ActionItems}" 
DisplayMemberPath="ActionDescription">    
</ContextMenu>

【问题讨论】:

    标签: c# wpf data-binding contextmenu


    【解决方案1】:

    您应该将其作为CommandParameter 传递:

    <ContextMenu x:Key="cm" ItemsSource="{Binding ActionItems}" DisplayMemberPath="ActionDescription"
    Command="{Binding YourCommand}" CommandParameter="{Binding YourParameter}">
    ...
    </ContextMenu>  
    

    更新 你需要这里描述的解决方案:MVVM binding command to contextmenu item

    cmets 后更新

    复发 - 比你应该实施它,如下所示:WPF ContextMenu with ItemsSource - how to bind to Command in each item?。请注意,该链接是其他问题的重复。所以请阅读两者。

    【讨论】:

    • 我在 ContextMenu 块中没有这些标签!
    • 你指的是哪个“那些标签”?
    • 对不起,我的错,我提供的信息太少。我无法为每个上下文菜单项显式设置这些属性,因为这些项取自 ObservableCollection - 它们的列表是动态的。
    • 我试过这个变种,但它不执行命令:code .ItemContainerStyle>
    猜你喜欢
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多