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