2011-06-18 3 views
9

私はWPFウィンドウを1回だけ作成してから、Show()とHide()を何回か作成します。今、私はShow()の各要素に焦点を当てる方法を模索しています。どこでどのようにすればいいですか?WPFウィンドウセットフォーカス

+2

あなたのウィンドウのアクティブ化されたイベント –

+0

これはユーザーインターフェースのガイドラインではありませんが、ユーザーエクスペリエンスのユーザーは、ユーザーが設定したものをばかげて好きではありません。つまりテキストボックスにフォーカスを置くと、そのテキストボックスにまだ存在すると予想されるフォームを非表示にして表示すると、値をコピーするためにalt-tab outが使用されます。もちろん、あなたの質問はユーザーの要求に触発されることがあります。その場合は、すべてを忘れてください:) –

答えて

5

:キーボードフォーカスと論理フォーカスを。キーボードフォーカスはキーボード入力を受け取り、論理フォーカスはフォーカスがあるフォーカススコープ内の要素を参照します。これらの概念については、this概要で詳しく説明しています。

同じ方法で両方を処理するには、Window.Show/Hideとelement.Focusの両方の機能を組み込むことで、独自のShowHideメソッドを記述できます。

18

フォーカスを設定する要素でElement.Focus()を呼び出します。

あなたはwindow.Activateを呼び出してみてくださいウィンドウにフォーカスをもたらす意味場合は()集中する関連する二つの主要な概念があるWPFで