我目前在 C# WPF 中有一个 ContextMenu,显示一个 MenuItem。然后这个 ContextMenu 被 TrayIcon 使用。
// 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”菜单项——否则将选中该项目但不会打开窗口(如果用户想要重新启用窗口等,这会让用户感到困惑)。
关于如何处理这个的任何想法?我需要基本上取消选中菜单项。我可以解构菜单并重建它,但这似乎是浪费时间。
与往常一样,提前感谢您的任何帮助。