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 論理フォーカスのみがこの要素に設定されている場合、またはこのメソッドの呼び出しによってフォーカスが強制的に変更されなかった場合です。

実装

次の使用例は、TextBoxによって参照されるNameにフォーカスを設定し、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する必要があります。

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

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

呼び出し Focustrueを返す場合、 IsKeyboardFocusedIsKeyboardFocusWithintrue

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

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

適用対象