Frage

Was ist der beste Weg, um die Return-Taste in einem PasswordBox zu fangen? (WPF / XAML)

Ich habe ein TextBox-Feld und ein PasswordBox Feld auf dem Anmeldungsformular (für Benutzername und Passwort-Eingabe). Ich habe auch eine Login-Button, der die Methode aufruft, die den Login-Validierungsprozess durchführt.

Ich muß die Return-Taste, um die gleiche Art und Weise in der PasswordBox reagieren, so dass der Benutzer die Möglichkeit, ihre Benutzername und Kennwort eingeben und drücken Sie einfach Return eingeloggt sein.

Wer weiß, wie dies in WPF getan wird? Jede Hilfe ist willkommen.

War es hilfreich?

Lösung

Es ist ein noch einfacher Mechanismus der Schaltfläche Code zu aktivieren. WPF Button-Klasse bietet eine Eigenschaft namens IsDefault. Wenn auf true gesetzt, wenn Sie die Eingabetaste drücken, während einige Objekte im Fenster den Fokus haben, wird der Code des Click-Ereignis der Schaltfläche automatisch ausgelöst werden. Dieser Mechanismus funktioniert wie ein Zauber mit dem PasswordBox.

Andere Tipps

Sie können das KeyDown-Ereignis auf dem PasswordBox behandeln (und TextBox falls gewünscht) und dann die folgenden Ereignishandler verwenden -

private void OnKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key != Key.Return && e.Key != Key.Enter)
        return;
    e.Handled = true;
    HandleEnter();
}

Sie könnten versuchen, eine RoutedCommand verwenden.

Sie können es auf der Command-Eigenschaft der Button-Set.
Sie können auch eine KeyGesture der Inputbindings Ihres Loginformular fügen Sie die Enter-Taste binden Ihre RoutedCommand auszulösen.

Dann ein Command in den Commandbindings Ihrer Loginformular fügen Sie den RoutedCommand zu Ausgeführt Handler in Ihrem Code zu binden und führen Sie oder Ihre Login-Validierungsprozess auslösen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top