PasswordBoxでリターンキーをキャッチするための最良の方法は何ですか? (WPF / XAML)
-
19-09-2019 - |
質問
PasswordBoxでリターンキーをキャッチするための最良の方法は何ですか? (WPF / XAML)
私は(ユーザー名とパスワードの入力のための)私のログインフォーム上のテキストボックスのフィールドとPasswordBoxフィールドを持っています。私はまた、ログイン検証プロセスを実行するメソッドを呼び出し、ログインボタンを持っています。
私は、ユーザーがオプションは、ユーザー名とパスワードを入力しており、単純にログインするためにリターンを打つことができるように、PasswordBoxに同じように反応してReturnキーを作成する必要があります。
これはWPFで行われているか、誰もが知っていますか?すべてのヘルプは高く評価されます。
解決
ボタンのコードを有効にするにはさらに簡単メカニズムがあります。 WPF ButtonクラスはのIsDefaultというプロパティを提供します。 trueに設定するとウィンドウ内のいくつかのオブジェクトがフォーカスを持っている間、あなたがリターンを押すと、ボタンのクリックイベントのコードが自動的に起動されます。このメカニズムはpasswordboxと魔法のように動作します。
他のヒント
あなたは(必要な場合やテキストボックス)PasswordBoxにKeyDownイベントを処理し、次のイベントハンドラを使用することができます -
をprivate void OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key != Key.Return && e.Key != Key.Enter)
return;
e.Handled = true;
HandleEnter();
}
あなたはRoutedCommandのを使用してみてください可能性があります。
あなたはボタンのCommandプロパティにそれを設定することができます。
また、あなたのRoutedCommandのをトリガーするには、Enterキーをバインドするために、あなたのloginformのInputBindingsにKeyGestureを追加することができます。
次に、あなたのコード内で実行ハンドラにRoutedCommandのをバインドし、実行するか、ログイン検証プロセスを起動するために、あなたのloginformのCommandBindingsでいるCommandBindingを追加します。