私は、タブレットで実行されている WPF アプリ用の優れた OSK ソリューションにしばらく取り組んできました。しかし、OSK.exe と tabtip.exe を使用するのは、いくつかのバグ、奇妙な動作、およびこの通常の問題に対する標準化された解決策がないため、困難です。
私が (おそらく) 必要としているのは、System.Windows.Controls.TextBox から継承し、いくつかのメソッドをオーバーライドするカスタム テキスト ボックス コントロールです。
このテキストボックスの簡単な要件は次のとおりです。 1. ユーザーがテキストフィールドをクリックすると、tabtip.exe (または同様の) キーボードが画面の下部にポップアップする必要があります (デフォルト)。2. キーボードがテキスト ボックスの上にポップアップする場合、テキスト ボックスが表示されるようにコンテンツ フレームをスクロールする必要があります。3. テキストボックスがフォーカスを失うと、ユーザーが別のテキストボックスをクリックした場合を除き、キーボードは自動的に閉じる必要があります。
これはかなり標準的な動作のように思えますよね? さて、私は解決策を長い間探してきました (ちょっと変わった標準的な Microsoft の方法はありません)。たとえば、プロセスを強制終了しようとすると、失敗することがあります。キーボードの右上隅にある閉じるボタンを 5-6-7 回のようにクリックすると、閉じます。PC からタブレットへの動作は一貫していません。ScrollViewer.ScrollToVerticalOffset(x); タブレットなどでは機能しない場合があります。
では、この一般的な問題に対する適切な解決策を知っている人はいますか?