Подтвердить что ты не робот

Какой лучший способ выхватить возвращаемый ключ в PasswordBox? (WPF/XAML)

Какой лучший способ поймать ключ возврата в PasswordBox? (WPF/XAML)

У меня есть поле TextBox и поле PasswordBox в моей форме входа (для ввода имени пользователя и пароля). У меня также есть кнопка входа в систему, которая вызывает метод, который выполняет процедуру проверки входа в систему.

Мне нужно, чтобы клавиша Return реагировала так же, как и в PasswordBox, так что у пользователя может быть опция ввести свое имя пользователя и пароль и просто нажать Return to log in.

Кто-нибудь знает, как это делается в WPF? Любая помощь приветствуется.

4b9b3361

Ответ 1

Существует еще более простой механизм для активации кода кнопки. Класс WPF Button предоставляет свойство, называемое IsDefault. Если установлено значение true, если вы нажмете return, когда некоторые объекты в окне имеют фокус, код события нажатия кнопки будет запущен автоматически. Этот механизм работает как прелесть с паролем.

Ответ 2

Вы можете обрабатывать событие KeyDown в PasswordBox (и TextBox, если необходимо), а затем использовать следующий обработчик событий -

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

Ответ 3

Вы можете попробовать использовать RoutedCommand.

Вы можете установить его в свойстве Command Button.
Вы также можете добавить KeyGesture в InputBindings вашей формы входа, чтобы связать клавишу Enter, чтобы запустить RoutedCommand.

Затем добавьте CommandBinding в CommandBindings вашей формы входа, чтобы привязать обработчики RoutedCommand к Executed в вашем коде и выполнить или инициировать процесс проверки входа в систему.