簡體   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