Question

Quelle est la meilleure façon d'attraper la clé de retour dans un PasswordBox? (WPF / XAML)

J'ai un champ de texte et un champ PasswordBox sur mon formulaire de login (nom d'utilisateur pour l'entrée et mot de passe). J'ai aussi un bouton d'ouverture de session qui appelle la méthode qui effectue le processus de validation de connexion.

Je dois faire la clé de retour réagir de la même manière dans le PasswordBox, de sorte que l'utilisateur peut avoir l'option entrer leur nom d'utilisateur et mot de passe et appuyez simplement Retour à vous connecter.

Quelqu'un sait comment cela se fait dans WPF? Toute aide est appréciée.

Était-ce utile?

La solution

Il existe un mécanisme encore plus facile d'activer le code du bouton. WPF classe Button fournit une propriété appelée IsDefault. Lorsque la valeur true, si vous appuyez sur retour alors que certains objets dans la fenêtre ont mise au point, le code de l'événement clic du bouton sera automatiquement envoyé. Ce mécanisme fonctionne comme un charme avec le PasswordBox.

Autres conseils

Vous pouvez gérer l'événement KeyDown sur le PasswordBox (et TextBox si on le souhaite), puis utilisez le gestionnaire d'événement suivant -

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

Vous pouvez essayer d'utiliser un RoutedCommand.

Vous pouvez définir sur la propriété du bouton de commande.
Vous pouvez également ajouter un KeyGesture aux InputBindings de votre LoginForm pour lier la touche Entrée pour déclencher votre RoutedCommand.

Ensuite, ajoutez un CommandBinding dans les CommandBindings de votre LoginForm pour lier le RoutedCommand aux gestionnaires dans votre code Exécuté et effectuer ou déclencher votre processus de validation de connexion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top