次の方法で共有


ContentElement.Focus メソッド

定義

この要素にフォーカスを設定することを試みます。

public:
 virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean

戻り値

キーボード フォーカスをこの要素に設定できなかった場合は true。このメソッド呼び出しがフォーカスを強制しなかった場合は false

実装

次の例は、ドキュメント内で指定された名前付き段落を検索し、それにフォーカスを設定するページ読み込みイベント ハンドラーです。 段落は既定ではフォーカスできません。この特定の段落には、スタイルを使用してフォーカス可能にするスタイル Setter が適用されていました (表示されません)。

void FocusOnParagraph(object sender, RoutedEventArgs e)
{
  ContentElement ce = this.FindName("focusableP") as ContentElement;
  ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
  ce.Focus()
End Sub

注釈

フォーカス可能にするには、 と IsEnabledFocusable両方を にするtrue必要があります。 既定では、ほぼすべての ContentElement 派生クラスは使用されないこと Focusable に注意してください。

要素がフォーカス可能で有効になっている場合でも、(複合コントロールの場合など) 特定のツリー内のイベント処理は、そこにフォーカスを許可しないことによってプレビュー フォーカス イベントに応答する可能性があるため、このメソッドは を返します false

フォーカスは一般に、キーボード フォーカスと論理フォーカスという 2 つの異なる概念によって管理されます。これは常に同じとは限りません。 このメソッドは、論理フォーカスを設定します。 キーボード フォーカスを具体的に設定するプログラムによる手段はありません。キーボード フォーカスは、ユーザー入力によって決まります。 詳細については、「フォーカスの 概要 」と「 入力の概要」を参照してください。

を呼び出すとFocus、 が をtrueIsKeyboardFocused返し、 IsKeyboardFocusWithintrueになります。

関連するプロパティがまだ trueでない場合、 を呼び出Focusすと、次の 1 つ以上のイベントが次の順序で発生します。 PreviewGotKeyboardFocusPreviewLostKeyboardFocus(source は新しいフォーカス ターゲット)IsKeyboardFocusedChanged、、IsKeyboardFocusWithinChangedLostKeyboardFocusGotKeyboardFocus 、(source は新しいフォーカス ターゲットです)。

適用対象

こちらもご覧ください