PasswordBoxでリターンキーをキャッチするための最良の方法は何ですか? (WPF / XAML)

StackOverflow https://stackoverflow.com/questions/1179610

質問

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を追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top