1

C# を使用して、Frame に EditText と Button を配置しています。編集フィールド内に書き込み、ボタンをクリックした後、仮想ソフト キーボードを非表示にしたいと考えています。

4

7 に答える 7

7

ダミー ボタンを追加してフォーカスを設定すると、キーボードが非表示になります。

于 2012-09-17T11:53:50.273 に答える
3

ご質問ありがとうございます。私はこの問題のより良い解決策を得ました。このような

まず、xaml でハンドラーを追加できます

<Grid x:Name= Tapped="Grid_Tapped_1">
  ......
 </Grid >

次に、次のように現在のページにフォーカスします。それはうまくいきます。

private void Grid_Tapped_1(object sender, TappedRoutedEventArgs e)
        {
            this.Focus(FocusState.Programmatic);
        }
于 2013-06-10T02:46:29.787 に答える
2

それはいけません。Input Hosting Manager と Soft Keyboardの動作に関する詳細情報があり、いつ表示または非表示になるかを知るために登録できます。ただし、アップかダウンかをプログラムで制御することはできません。

于 2012-05-24T18:22:48.127 に答える
0

IsReadOnlyTextbox`のプロパティを設定してみてください。

「似たような」ことをしている

    private void textbox_input_LostFocus(object sender, RoutedEventArgs e)
    {
        textbox_input.IsReadOnly = false;
    }

    private void textbox_input_Tapped(object sender, TappedRoutedEventArgs e)
    {
        if(e.PointerDeviceType != Windows.Devices.Input.PointerDeviceType.Mouse)
            textbox_input.IsReadOnly = true;
        else
            textbox_input.IsReadOnly = false;
    }

ユーザーがマウスを使用していない場合、これを切り取ってキーボードを抑制します...

また、KeyDownテキストボックスが読み取り専用のときにイベントが発生するため、データを直接使用してビューモデルを設定し、テキストボックスを更新できます;)

于 2012-06-25T18:34:07.247 に答える
0

IsTabStop=trueボタンをクリックした後にコンテナを自動的に「送信」として設定することにより、タッチキーボードを非表示にするソリューションがあります。

EditTextしかし、ところで、次にそのページに入ると、 (と思われるTextBox)が自動フォーカスされ、タッチキーボードが表示されることに気付きました。EditTextたぶん、送信後に無効にしたほうがよいでしょう。(入力操作を終了してブロックしているようです)

于 2015-03-25T01:34:32.347 に答える