|
|
1
3
我也有这个问题。阅读 Bea Stollnitz' blog 给了我一个主意。 我在我的资源中开始使用这样的数据模板:
如上所述,这会导致键盘菜单键不调用上下文菜单,尽管右键单击确实有效。问题是上下文菜单需要在ListBoxItem上,而不是在其内部的模板上。 嘿,普雷斯托!
现在,只需从数据模板中删除contextmenu,然后在列表框中设置您的样式,如下所示:
|
|
|
2
1
这家伙和你有相似的问题: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/5737a331-2014-4e39-b87c-215ae6a7cdd4 . 不要与焦点作斗争,而是在列表框中添加上下文菜单。将ContextMenuOpening事件处理程序添加到列表框中。在该处理程序中,根据当前选定项的数据上下文,以编程方式添加所需的任何菜单项。 |
|
|
3
0
我找到了解决办法。在后面的代码中,我将为每个ListBoxItem提供从其可视化子项中找到的上下文菜单。 它使我能够为各种类向数据模板中添加上下文菜单,从而提供我喜欢的多态性。我还喜欢用XAML声明菜单。它可以与键盘导航以及鼠标使用一起工作。 代码可能被放在一个附属的属性中,或者出于优雅的考虑。 我添加了一个加载的事件处理程序和以下代码:
|