Основная идея кнопки "Отмена" - включить закрытие окна с помощью Escape Keypress.
Вы можете установить свойство IsCancel на кнопку Отмена до значения true, в результате чего Кнопка "Отмена" для автоматического закрытия диалог без обращения к клику событие.
Источник: Программирование WPF (Griffith, Sells)
Итак, это должно работать
<Window>
<Button Name="btnCancel" IsCancel="True">_Close</Button>
</Window>
Однако поведение, которое я ожидаю, не работает для меня. Родительское окно - это основное окно приложения, указанное свойством Application.StartupUri. Что работает
<Button Name="btnCancel" IsCancel=True" Click="CloseWindow">_Close</Button>
private void CloseWindow(object sender, RoutedEventArgs)
{
this.Close();
}
- Является ли поведение IsCancel разным в зависимости от того, является ли Окно обычным окном или диалогом? IsCancel работает так, как рекламируется, только если вызывается ShowDialog?
- Является ли явным обработчиком кликов для кнопки (с IsCancel установлено значение true), чтобы закрыть окно в прессе Escape?