UIElement.Focus UIElement.Focus UIElement.Focus UIElement.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。論理フォーカスのみが設定された場合、またはこのメソッドの呼び出しによってフォーカスの変更が強制されない場合は falsetrue if keyboard focus and logical focus were set to this element; false if only logical focus was set to this element, or if the call to this method did not force the focus to change.

実装

次の例では、フォーカスを設定、TextBoxによって参照されるName、し、内のカーソルの位置を調整、TextBoxします。The following example sets focus to a TextBox referenced by Name, and then adjusts the position of the cursor within the TextBox.

void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
    tbPositionCursor.Focus();
    tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)

    tbPositionCursor.Focus()
    tbPositionCursor.Select(0, 0)

End Sub

注釈

フォーカスをFocusableIsEnabledは両方とも必要trueします。To be focusable, Focusable and IsEnabled must both be true.

要素がフォーカスを設定し、有効な場合でも、Focusプレビュー イベントが特定のツリーで処理され、(たとえば、複合コントロール) でその要素にフォーカスができない可能性があります。Even if the element is focusable and valid, the Focus preview events may be processed in a specific tree, and focus on that element may not be allowed (for example, in a composite control). このような場合は、このメソッドが返されますfalseします。In such a case, this method returns false.

一般に、フォーカスは、2 つの異なる概念によって制御します。 キーボード フォーカスと論理フォーカスします。In general, focus is controlled by two different concepts: keyboard focus and logical focus. これら 2 つの概念が常に同じでないです。These two concepts are not always the same. 詳細については、次を参照してください。フォーカスの概要入力の概要します。For more information, see Focus summary 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).

この呼び出しを正常に行うためには、以前フォーカスがあることに、アプリケーションで他の要素が必要です。In order for this call to be successful, some other element in the application needed to have focus previously.

適用対象