Meine WPF-App verwendet einen Dialog mit OK- und Abbrechen-Schaltflächen. Ich möchte die Enter-Taste an die Ok-Taste und die Esc-Taste an die Abbrechen-Schaltfläche binden. Scheint so, als müsste es eine einfache Sache sein.Wie binden Sie die Enter- und Esc-Tasten an die Schaltflächen OK und Abbrechen in einem WPF-Dialogfeld?
31
A
Antwort
70
Versuchen Sie, die Eigenschaft IsDefault
auf der Schaltfläche "OK" auf "True" und die Eigenschaft "IsCancel
" auf "Abbrechen" auf "True" zu setzen.
-5
In Visual Studio 2015 können Sie die IsDefault-Eigenschaft nicht mehr festlegen. Sie müssen den KeyCode verwenden. Überall dort, wo der Fokus Cursor letzte sein wird, gehen Sie auf die „keyDown“ Eigenschaft und schreiben diesen Code
/// <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);
}
}
In diesem Fall, wenn der Fokus des Cursors in das Passwortfeld Textfeld ist, und Sie drücken die Enter-Taste, Es wird dies sogar auslösen.
'IsDefault' scheint in VS2015 gut zu funktionieren. – Sandy