我有一个绑定到字符串列表的上下文菜单,以便每个菜单项的文本都是字符串列表的元素。每个菜单项都设置为相同的事件处理程序。我想做的是找出调用事件处理程序时单击了哪个菜单项。
我认为这会很简单,但我有点困惑。
如果我查看监视窗口,会发现有一个名为 FocusedItem 的菜单项属性。它包含我需要的信息,但是当我尝试使用它时,它似乎不是类的一部分,并且代码甚至无法编译,我觉得很奇怪。
有人能指出我正确的方向吗?
我遇到问题的 xaml 和代码:
<MenuItem Header="Add Object" ItemsSource="{Binding ObjectClassList}" Click="AddObject_Click"/>
private void AddObject_Click(object sender, RoutedEventArgs e)
{
MenuItem menuItem = sender as MenuItem;
if (menuItem == null)
{
return;
}
// menuItem.FocusedItem // ?? does not compile
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
这对我有用,但不能 100% 确定这是正确的方法(尽管它是在正确的道路上!)
MenuItem m = (MenuItem)e.OriginalSource;
Run Code Online (Sandbox Code Playgroud)
我相信这是正确的,因为“容器”菜单项正在包装您添加的字符串菜单项的事件。“OriginalSource”将是单击字符串菜单项...
归档时间: |
|
查看次数: |
4004 次 |
最近记录: |