繁体   English   中英

取消选中上下文菜单中的项目

[英]Unchecking item in a context menu

我目前在C#WPF中有一个ContextMenu,显示一个MenuItem。 然后,TrayIcon使用此ContextMenu。

// menu initialization
private static System.Windows.Controls.ContextMenu trayMenu = new System.Windows.Controls.ContextMenu();

// menu item initialization
private static System.Windows.Controls.MenuItem displayOnScreenControls = new System.Windows.Controls.MenuItem();
displayOnScreenControls.Header = "Display presenter controls";
displayOnScreenControls.IsCheckable = true;
displayOnScreenControls.Checked += new RoutedEventHandler(displayOnScreenControls_Checked);
displayOnScreenControls.Unchecked += new RoutedEventHandler(displayOnScreenControls_Unchecked);

// add icons to the tray menu
trayMenu.Items.Add(displayOnScreenControls);

“ displayOnScreenControls”项是可检查的。 当用户选中此选项并满足某些条件时,将显示一个控制窗口。

如果用户选择关闭此窗口,则表明他们不再希望打开控制窗口。 为了保持一致性,我需要取消选中“ displayOnScreenControls”菜单项-否则将选中该项目,但不会打开窗口(如果用户要重新启用窗口等,将会使用户感到困惑)。

关于如何处理这个想法? 我实际上需要取消选中菜单项。 我可以解构菜单并重新构建它,但这似乎是在浪费时间。

与往常一样,在此先感谢您的协助。

因此,您只想在关闭窗口时以编程方式取消选中菜单项吗? 您所需要做的就是设置IsChecked

displayOnScreenControls.IsChecked = false;

将其放在Window.Closed事件处理程序中,您应该会很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM