ContentElement.Focus ContentElement.Focus ContentElement.Focus ContentElement.Focus Method

定義

この要素にフォーカスを設定しようとします。Attempts to set focus to this element.

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

戻り値

true この要素にキーボード フォーカスを設定する可能性があります場合、falseこのメソッドの呼び出しがフォーカスを強制しなかった場合。true if keyboard focus could be set to this element; false if this method call did not force focus.

実装

次の例では、指定した文書の段落をという名前を検索するページ読み込みイベント ハンドラーは、し、フォーカスを設定します。The following example is a page-loaded event handler that finds a specified named paragraph in the document and sets focus to it. 段落は、既定でフォーカスを設定できません。この特定の段落が適用されるスタイル、スタイルを使用する (非表示)Setterフォーカスを設定できるようにします。Paragraphs are not focusable by default; this particular paragraph had a style applied (not shown) that used a style Setter to make it focusable.

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します。To be focusable, Focusable and IsEnabled must both be true. ほぼすべてContentElement派生クラスでないFocusable既定。Note that nearly all ContentElement derived classes are not Focusable by default.

要素は、特定のツリー内のフォーカスを設定できる、有効な場合は、イベントの処理が、場合でも、フォーカスを許可しないことによって、プレビューのフォーカス イベントに応答 (複合コントロールなど) ためこのメソッドはfalseします。Even if an element is focusable and enabled, event handling within a specific tree, (such as for a composite control) might respond to the preview focus events by not allowing focus there, thus this method would return false.

一般にフォーカスが 2 つの異なる概念によって制御されます。 キーボード フォーカスと論理フォーカスは、常に同じではありません。Focus in general is governed by two separate concepts: keyboard focus and logical focus, which are not always identical. このメソッドは、論理フォーカスを設定します。This method sets the logical focus. プログラムです。 具体的にキーボード フォーカスを設定する手段はありません。キーボード フォーカスは、ユーザー入力によって決定されます。There is no programmatic means to set keyboard focus specifically; keyboard focus is determined by user input. 詳細については、次を参照してください。フォーカスの概要入力の概要します。For more information, see Focus Overview and Input Overview.

呼び出す場合Focus返しますtrueIsKeyboardFocusedIsKeyboardFocusWithintrueします。If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

関連するプロパティが既にがない場合trueを呼び出すとき、 Focus、1 つ以上の次のイベントは、次の順序で発生します: PreviewLostKeyboardFocusPreviewGotKeyboardFocus (ソースの新しいフォーカス ターゲット)、 IsKeyboardFocusedChangedIsKeyboardFocusWithinChangedLostKeyboardFocusGotKeyboardFocus (ソースは新しいフォーカス対象です)。If the related properties are not already true, when you call Focus, one or more of the following events are raised in the following order: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (source is the new focus target), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (source is the new focus target).

適用対象

こちらもご覧ください