Каков наилучший способ перехватить ключ возврата в поле пароля?(WPF/XAML)
-
19-09-2019 - |
Вопрос
Каков наилучший способ перехватить ключ возврата в поле пароля?(WPF/XAML)
У меня есть поле текстового поля и поле пароля в моей форме входа (для ввода имени пользователя и пароля).У меня также есть кнопка входа в систему, которая вызывает метод, выполняющий процесс проверки входа в систему.
Мне нужно, чтобы клавиша Возврата реагировала таким же образом в поле пароля, чтобы у пользователя была возможность ввести свое имя пользователя и пароль и просто нажать Return, чтобы войти в систему.
Кто-нибудь знает, как это делается в WPF?Любая помощь приветствуется.
Решение
Существует еще более простой механизм активации кода кнопки.Класс кнопок WPF предоставляет свойство, называемое IsDefault.При значении true, если вы нажмете return, в то время как некоторые объекты в окне находятся в фокусе, код события нажатия кнопки будет запущен автоматически.Этот механизм работает как заклинание с паролем.
Другие советы
Вы можете обработать событие нажатия клавиши в поле пароля (и текстовом поле, если необходимо), а затем использовать следующий обработчик событий --
private void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Return && e.Key != Key.Enter)
return;
e.Handled = true;
HandleEnter();
}
Вы могли бы попробовать использовать RoutedCommand .
Вы можете установить это в свойстве Command Кнопки.
Вы также можете добавить KeyGesture к InputBindings вашей формы входа, чтобы привязать клавишу Enter к запуску вашей RoutedCommand.
Затем добавьте привязку команд в CommandBindings вашей формы входа, чтобы привязать RoutedCommand к выполняемым обработчикам в вашем коде и выполнить или запустить процесс проверки вашего входа.