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になります。

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

この呼び出しを成功させるには、アプリケーション内の他の要素に以前にフォーカスを置く必要があります。

適用対象