我有一个位于用户控制资源内的上下文菜单。
<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)
答案 0 :(得分:1)
首先,为什么要将Menu1 ContextMenu转换为样式?这将始终返回null,因为Menu1不是Style。将其投射为 ContextMenu 。
其次,您似乎已经拥有一切可以确定单击了哪个菜单项。您已在CommandParameter中传递了一个唯一的字符串,您可以在运行时检查该字符串。