我对鼠标的监听器右键单击事件触发关闭CreateContextMenu()
有上下文菜单关闭外线C#鼠标点击
功能如下:
protected virtual ContextMenu CreateContextMenu()
{
ContextMenu contextMenu = new ContextMenu();
MenuItem ClickHereMenuItem = new MenuItem();
ClickHereMenuItem.Header = "Click Here";
ClickHereMenuItem.Tag = contextMenu;
ClickHereMenuItem.Click += ClickHere_Click;
contextMenu.Items.Add(ClickHereMenuItem);
contextMenu.Items.Add(new Separator());
//Cancel Menu Item
MenuItem cancelMenuItem = new MenuItem();
cancelMenuItem.Header = "Cancel";
cancelMenuItem.Tag = contextMenu;
cancelMenuItem.Click += cancelMenuItem_Click;
contextMenu.Items.Add(cancelMenuItem);
return contextMenu;
}
一切都会按计划,但只上下文菜单关闭的方式是如果您选择“取消”菜单项(它只设置contextMenu.IsOpen = false
)。如果用户单击控件外部,我也希望菜单关闭。我怎样才能做到这一点?
你用什么GUI? Windows窗体? – smhnkmr
@mhn我正在使用WPF GUI – Saggio
我无法重现您的问题:使用您的代码,我的上下文菜单关闭确定。 所以这个问题必须在你的PreviewMouse(Left)ButtonDown或其他地方。 – GameAlchemist