What's the Best Way to Catch the Return Key in

2019-04-03 18:59发布

What's the best way to catch the return key in a PasswordBox? (WPF/XAML)

I have a TextBox field and a PasswordBox field on my login form (for username and password entry). I also have a login button which invokes the method that performs the login validation process.

I need to make the Return key react the same way in the PasswordBox, so that the user can have the option enter their username and password and simply hit Return to log in.

Does anyone know how this is done in WPF? Any help is appreciated.

3条回答
对你真心纯属浪费
2楼-- · 2019-04-03 19:00

There is an even easier mechanism to activate the button's code. WPF Button class provides a property called IsDefault. When set to true, if you press return while some objects in the window have focus, the code of the click event of the button will be fired automatically. This mechanism works like a charm with the passwordbox.

查看更多
姐就是有狂的资本
3楼-- · 2019-04-03 19:15

You could try using a RoutedCommand.

You can set it on the Command property of the Button.
You can also add a KeyGesture to the InputBindings of your loginform to bind the Enter key to trigger your RoutedCommand.

Then add a CommandBinding in the CommandBindings of your loginform to bind the RoutedCommand to Executed handlers in your code and perform or trigger your login validation process.

查看更多
smile是对你的礼貌
4楼-- · 2019-04-03 19:26

You can handle the KeyDown event on the PasswordBox (and TextBox if desired) and then use the following event handler --

private void OnKeyDown(object sender, KeyEventArgs e)
{
    if (e.Key != Key.Return && e.Key != Key.Enter)
        return;
    e.Handled = true;
    HandleEnter();
}
查看更多
登录 后发表回答