В моем приложении WPF используется диалог с кнопками Ok и Cancel. Я хотел бы привязать клавишу Enter к кнопке Ok и клавишу Esc к кнопке Cancel. Похоже, это должно быть простое дело.
Как вы связываете клавиши Enter и Esc с кнопками "ОК" и "Отмена" соответственно в диалоговом окне WPF?
Ответ 1
Попробуйте установить свойство IsDefault
на кнопке ok на true, а свойство IsCancel
на кнопке отмены на true.
Ответ 2
В Visual Studio 2015 вы больше не можете устанавливать свойство IsDefault. Вы должны использовать KeyCode. Везде, где курсор фокуса будет последним, перейдите к свойству "KeyDown" и напишите этот код
/// <summary>
/// This property enables the Keyboard key "enter" and relates it to the login button.
/// The event will be triggered if the focus of the cursor is in the password text field.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void login_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
loginBtn_Click(sender, e);
}
}
В этом случае, когда фокус курсора находится в текстовом поле поля пароля, и вы нажмете клавишу ввода, это приведет к этому даже.