我在基于Canvas的WPF中制作了一个很好看的NodeGraph,并且正在通过右键菜单添加一些不错的功能。
这些菜单是上下文敏感的。这意味着在图形背景上右键单击会显示图形ContextMenu,而在图中右键单击节点将显示节点ContextMenu,或者如果该节点具有任何具有菜单的子控件,则显示那些子控件的菜单。
我已经拖延了这个问题一段时间,但现在不能再忽略它了。正如标题所述:当我在节点上右键单击时,图形的上下文菜单会显示出来。如果我禁用图形的上下文菜单,节点的上下文菜单就能正常显示出来。
这使我相信这是父控件在打开上下文菜单时占据了优先权的问题。我已经尝试在父控件和子控件中重写鼠标事件并将其设置为handled,但我还是想不明白!
有人能帮助我摆脱这个非常恼人的问题吗?