Как привязать клавиши Enter и Esc к кнопкам OK и отмена соответственно в диалоговом окне WPF?

мое приложение WPF использует диалоговое окно с кнопками Ok и Cancel. Я хотел бы привязать клавишу Enter к кнопке Ok и клавишу Esc к кнопке отмены. Кажется, это должно быть просто.

2 ответов


попробуйте установить IsDefault свойство на кнопке ok для true и IsCancel свойство кнопки Отмена имеет значение true.


в Visual studio 2015 больше нельзя задать свойство IsDefault. Вы должны использовать код ключа. Везде, где курсор фокуса будет последним, перейдите к свойству "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);
        }
    }

в этом случае, как только фокус курсора находится в текстовом поле поле пароля, и вы нажимаете клавишу enter, он вызовет это даже.