[英]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.