2

サービスにアクセスするためにユーザー名とパスワードの入力を必要とするWindowsストアアプリがあります。認証がサービスへの接続に失敗すると、ユーザー名とパスワードの再入力を求めるポップアップが表示されます。

タブレットでは、ユーザーがユーザー名またはパスワードのフィールドにフォーカスを置くと、ソフトキーボードが正しく表示されます。ソフトキーボードの検出時にログイン画面が調整され、すべてのフィールドとボタンが表示されます。

これはすべて問題なく機能し、詳細を入力してログインボタンをタップすると、ポップアップが閉じてアプリが続行します。

ただし、何らかの理由で、ユーザーが[ユーザー名]テキストボックスにフォーカスしていて、ログインボタンをタップした場合、ソフトキーボードは非表示になりません。ポップアップは閉じられ、アプリは続行されますが、ソフトキーボードは表示されたままになります。フォーカスがパスワードボックスにあった場合、キーボードは期待どおりに非表示になります。

ボタンクリックイベントでボタンコントロールにフォーカスを設定しようとしましたが、これで問題が解決しません。おそらく、ボタンをクリックするとポップアップコントロールも閉じます。

誰かがこれに遭遇したことがありますか?フォーカスを別のコントロール(私の状況では機能していません)に設定する以外に、ソフトキーボードを閉じる方法はありますか?

4

2 に答える 2

2

ポップアップを表示する前に、架空のボタン (幅 = 0、高さ = 0) にフォーカスを設定することで問題を解決しました。そのため、ポップアップが閉じられると、キーボードを必要としないボタンにフォーカスが置かれます。これがないと、キーボードで奇妙な動作をする可能性がある、最後にフォーカスされた「コントロール」にフォーカスが与えられます。

お役に立てば幸いです。

于 2013-03-09T00:10:45.993 に答える
0

タッチ キーボードの表示/非表示を制御することはできません。 このホワイト ペーパーでは、キーボードが表示または非表示になっている場合の背後にあるロジックについて詳しく説明します。最後の段落から:

これは、アプリケーションがフォーカスの操作を介してタッチ キーボードをプログラムで呼び出すことができないことを意味します。

于 2013-02-20T23:33:39.573 に答える