UIElement.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

実装

次の例では、 によってName参照される にフォーカスをTextBox設定し、 内のカーソルの位置を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

注釈

フォーカス可能にするには、 と IsEnabledFocusable両方を にするtrue必要があります。

要素がフォーカス可能で有効な場合でも、 Focus プレビュー イベントは特定のツリーで処理され、その要素へのフォーカスが許可されない場合があります (複合コントロールなど)。 このような場合、このメソッドは を返します false

一般に、フォーカスはキーボード フォーカスと論理フォーカスという 2 つの異なる概念によって制御されます。 これら 2 つの概念は常に同じとは限りません。 詳細については、「フォーカスの 概要 」と「 入力の概要」を参照してください。

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

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

この呼び出しを成功させるには、以前にアプリケーション内の他の要素にフォーカスが必要でした。 また、親コンテナー要素がこのメソッドを呼び出すと、特定の状況では、子はフォーカスを取得し、戻り値は になります false。 要素にフォーカスがあるかどうかをテストするには、 プロパティと IsKeyboardFocused プロパティをIsKeyboardFocusWithin使用します。

適用対象