ソフトウェアキーボードのEnterキーをタップしたときに、何らかの処理を行いたいことは多々あるのではないでしょうか。
例えば、検索画面の場合だとEnterキーで検索や、入力項目の多い画面では次のコントロールへフォーカスを移動させるのは要望としては定番です。今回はそのトリガーとなるソフトウェアキーボードのEnterキーが押されたイベント拾い方についてご紹介します。
xamlのKeyDownイベントハンドラを定義します。
<TextBox x:Name="textBx" KeyDown="textWord_KeyDown" InputScope="Search"/>コードビハインドでKeyDownイベントハンドラを書きます。e.Keyの値がKey.Enterの場合に、なんらかの処理をさせるようにします。
private void textBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { if (e.Key.Equals(Key.Enter)) { // ここでなんらかの処理 } }
InputScopeをSearchにしている場合、右下に
エンターキーでソフトウェア・キーボードを閉じる
private void textBox_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { if (e.Key.Equals(Key.Enter)) { // 別のコントロールのFocusメソッドを呼ぶことで // ソフトウェア・キーボードを非表示にする this.Focus(); } }









