Я хочу, чтобы клавиша Escape закрывала мое окно WPF. Однако, если есть элемент управления, который может использовать эту клавишу Escape, я не хочу закрывать окно. Существует несколько решений о том, как закрыть окно WPF при нажатии клавиши ESC. например. Как работает свойство WPF Button.IsCancel?
Однако это решение закрывает окно, независимо от того, существует ли активный элемент управления, который может использовать клавишу Escape.
Например, У меня есть окно с DataGrid. Одним из столбцов в dataGrid является комбинированный список. Если я изменяю ComboBox и нажимаю Escape, то элемент управления должен выйти из редактирования comboBox (нормальное поведение). И если я снова нажму Escape, то окно должно закрыться. Я хотел бы получить общее решение вместо того, чтобы писать много пользовательского кода.
Если бы вы могли предложить решение на C #, было бы замечательно.