Pregunta

¿Cuál es la mejor forma de atrapar la tecla de retorno en un PasswordBox? (WPF / XAML)

Tengo un campo de cuadro de texto y un campo PasswordBox en mi formulario de inicio de sesión (por nombre de usuario y contraseña de entrada). También tengo un botón de inicio de sesión que invoca el método que lleva a cabo el proceso de validación de inicio de sesión.

Necesito hacer la tecla de retorno reaccionar de la misma manera en el PasswordBox, de modo que el usuario puede tener la opción de ingresar su nombre de usuario y contraseña y simplemente pulsa Intro para iniciar sesión.

¿Alguien sabe cómo se hace esto en WPF? Cualquier ayuda es apreciada.

¿Fue útil?

Solución

Existe un mecanismo aún más fácil de activar el código del botón. clase Button WPF proporciona una propiedad llamada IsDefault. Cuando se define como true, si pulsa retorno mientras que algunos objetos de la ventana tiene el foco, el código del evento clic del botón será despedido automáticamente. Este mecanismo funciona a las mil maravillas con el PasswordBox.

Otros consejos

Puede controlar el evento KeyDown en el PasswordBox (Cuadro de texto y si se desea) y luego utilizar el siguiente controlador de eventos -

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

Se podría tratar de usar un RoutedCommand.

Se puede establecer en la propiedad de comando del botón.
También puede añadir un KeyGesture a los InputBindings de su LoginForm a obligar a la tecla Intro para activar su RoutedCommand.

A continuación, añadir un CommandBinding en los CommandBindings de su LoginForm a obligar a la RoutedCommand a los manipuladores ejecutado en su código y realizar o desencadenar el proceso de validación de inicio de sesión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top