关闭WPF菜单后的Eat MouseDown事件

关闭WPF菜单后的Eat MouseDown事件,wpf,menu,mouseevent,Wpf,Menu,Mouseevent,我想实现一个WPF菜单,其行为与Office菜单相同: 当您单击菜单时,它会关闭菜单,但单击的元素不会收到鼠标向下事件 我想到了几种方法来实现这一点,但它们非常复杂 是否有一种相对简单的方法来完成此任务?您始终可以为窗口处理事件。在处理程序中,如果菜单处于打开状态,请将其关闭并设置为true,以防止事件被发送到鼠标下的任何控件。这不起作用,因为在触发PreviewMouseDown事件之前菜单已关闭

我想实现一个WPF
菜单
,其行为与Office菜单相同:

当您单击
菜单时,它会关闭菜单,但单击的元素不会收到
鼠标向下
事件

我想到了几种方法来实现这一点,但它们非常复杂


是否有一种相对简单的方法来完成此任务?

您始终可以为
窗口处理事件。在处理程序中,如果菜单处于打开状态,请将其关闭并设置为
true
,以防止事件被发送到鼠标下的任何控件。

这不起作用,因为在触发PreviewMouseDown事件之前菜单已关闭