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

注釈

フォーカスを設定できるFocusableようIsEnabledにするに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出すtrueIsKeyboardFocused 、とIsKeyboardFocusWithintrueになります。If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

関連するプロパティがまだ存在trueしない場合、を呼び出すFocusと、次の1つ以上のイベントが次の順序PreviewLostKeyboardFocusPreviewGotKeyboardFocus発生します。 (source は新しいフォーカスIsKeyboardFocusedChangedターゲットIsKeyboardFocusWithinChanged)、、、LostKeyboardFocusGotKeyboardFocus (ソースは新しいフォーカスターゲット) です。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.

適用対象