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

注釈

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

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

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

呼び出し Focustrueを返す場合、 IsKeyboardFocusedIsKeyboardFocusWithintrue

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

適用対象

こちらもご覧ください