Qual é a melhor maneira de pegar a chave de retorno em um PasswordBox? (Wpf/xaml)
-
19-09-2019 - |
Pergunta
Qual é a melhor maneira de pegar a chave de retorno em um PasswordBox? (Wpf/xaml)
Eu tenho um campo de caixa de texto e um campo PasswordBox no meu formulário de login (para entrada de nome de usuário e senha). Eu também tenho um botão de login que chama o método que executa o processo de validação de login.
Preciso fazer com que a tecla de retorno reaja da mesma maneira no PasswordBox, para que o usuário possa ter a opção Digite seu nome de usuário e senha e simplesmente pressionar o retorno para fazer o login.
Alguém sabe como isso é feito no WPF? Qualquer ajuda é apreciada.
Solução
Existe um mecanismo ainda mais fácil para ativar o código do botão. A classe de botão WPF fornece uma propriedade chamada ISDefault. Quando definido como true, se você pressionar retornar enquanto alguns objetos na janela têm foco, o código do evento de clique do botão será disparado automaticamente. Esse mecanismo funciona como um charme com o PasswordBox.
Outras dicas
Você pode lidar com o evento KeyDown no PasswordBox (e TextBox, se desejar) e depois usar o seguinte manipulador de eventos -
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Return && e.Key != Key.Enter)
return;
e.Handled = true;
HandleEnter();
}
Você pode tentar usar um comando de roteed.
Você pode configurá -lo na propriedade de comando do botão.
Você também pode adicionar um keyesture às peças de entrada do seu loginform para vincular a tecla Enter para acionar o seu RoutedCommand.
Em seguida, adicione um comandobinding nos comandos do seu LogInform para vincular o componente roteed aos manipuladores executados em seu código e executar ou acionar seu processo de validação de login.