Ответ 1
Вариант 1
Используйте свойство Button.IsCancel.
<Button Name="btnCancel" IsCancel="true" Click="OnClickCancel">Cancel</Button>
Когда вы установите для свойства IsCancel кнопки значение true, вы создаете Кнопка, зарегистрированная в AccessKeyManager. Кнопка затем активируется, когда пользователь нажимает клавишу ESC.
Однако это работает правильно только для Dialogs.
Вариант2
Вы добавляете обработчик в PreviewKeyDown в окне, если вы хотите закрыть окна при нажатии Esc.
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(HandleEsc);
}
private void HandleEsc(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
Close();
}