У меня есть MenuItem, где я устанавливаю IsCheckable = True, и метод, который запускает событие Click, которое проверяет или снимает флажок MenuItem.
<MenuItem x:Name="DebugWindowMenuItem" Header="Debug Window" IsCheckable="True" IsChecked="False" Click="DebugWindow_Click" />
Тогда мой код C # выглядит следующим образом ...
private void DebugWindow_Click(object sender, RoutedEventArgs e) {
Console.WriteLine(DebugWindowMenuItem.IsChecked);
if (DebugWindowMenuItem.IsChecked == true) {
DebugWindow.Visibility = Visibility.Collapsed;
DebugWindowMenuItem.IsChecked = false;
} else {
DebugWindow.Visibility = Visibility.Visible;
DebugWindowMenuItem.IsChecked = true;
}
}
Я явно что-то упускаю, потому что XAML заявляет, что это не проверено, но вывод консоли говорит, что каждый раз, когда я нажимаю DebugWindowMenuItem.
Есть ли другой параметр, который я пропускаю?
ОБНОВЛЕНИЕ: По сути, не устанавливайте IsChecked.Рассматривайте проверяемый элемент MenuItem как CheckBox.