0

私の WinRT アプリのビューの 1 つで、フォーカスを失っBottomAppBarたときに を表示したいと思います。それに応じて のプロパティを手動で変更できるおよびイベントでTextBox遊んでみました。GotFocusLostFocusIsOpenBottomAppBar

問題は、BottomAppBarが開いているときに、ユーザーが をクリックするTextBoxと、BottomAppBarが閉じられますが (標準の AppBar の動作)、TextBoxはフォーカスされません (ユーザーがそれを右クリックしても)。TextBoxユーザーは、何かをもう一度入力できるようにするには、再度フォーカスする必要があります。

Closedイベントに接続してBottomAppBar、プログラムでフォーカスを に設定しようとすると、すぐにフォーカスされますがTextBox、すぐにフォーカスが失われ、代わりにその ScrollViewer がフォーカスされます。

TextBox2回目にフォーカスを失う理由は何ですか? 私が達成しようとしていることをどのように行うことができるか考えていますか?

ありがとう!

4

1 に答える 1

3

おそらく、あなたBottomAppBarがそれをタップして閉じScrollViewer、フォーカスをあなたに設定すると、その直後にTextBoxフォーカスが設定されることでオーバーライドされます。ScrollViewerフォーカスを - だけにしたい場合は、TextBoxからフォーカスを無効にすることができますScrollViewer。遅延の後にフォーカスを設定することもできます ( withawait Task.Delay(50);または withのいずれかでawait Dispatcher.RunAsync(() => /*set focus)、 がフォーカスを取得した後に設定されるScrollViewerか、 を処理GotFocusし、フォーカスを維持したいときにScrollViewerフォーカスを に戻します。最後に、全然集中できます。TextBoxTextBox

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