如何访问UserControl Resources + Infragistics Control(WPF)中的上下文菜单,C#

时间:2009-07-21 14:45:28

标签: c# wpf

我有一个位于用户控制资源内的上下文菜单。

<UserControl.Resources>

    <ContextMenu x:Key="Menu1">   

        <MenuItem Header="View/Edit Contact" Command="{Binding SearchCommand}" CommandParameter="editcontact"/>
        <MenuItem Header="View/Edit Company" Command="{Binding SearchCommand}" CommandParameter="editprimarycompany"/>         

    </ContextMenu>


</UserControl.Resources>

此资源绑定到WPF网格。

现在,在网格填满数据后,我右键单击网格。我能够找到上下文菜单。

问题是如何在运行时知道单击了哪个菜单项?

我试过这个

var t = this.TryFindResource("Menu1") as Style;

在网格的SelectedItemsChanged事件中,但它为空。

请帮助我,并告诉我,我应该在哪个网格事件中进行此操作!

提前致谢。

我正在使用C#,WPF,Infragistics Control(WPF)

1 个答案:

答案 0 :(得分:1)

首先,为什么要将Menu1 ContextMenu转换为样式?这将始终返回null,因为Menu1不是Style。将其投射为 ContextMenu

其次,您似乎已经拥有一切可以确定单击了哪个菜单项。您已在CommandParameter中传递了一个唯一的字符串,您可以在运行时检查该字符串。