UIElement.Focus メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この要素にフォーカスを設定しようとします。
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
注釈
フォーカス可能にするには、 Focusable と IsEnabled の両方を trueする必要があります。
要素がフォーカス可能で有効な場合でも、 Focus プレビュー イベントは特定のツリーで処理される可能性があり、その要素へのフォーカスが許可されない場合があります (複合コントロールなど)。
このような場合、このメソッドは falseを返します。
一般に、フォーカスはキーボード フォーカスと論理フォーカスという 2 つの異なる概念によって制御されます。 これら 2 つの概念は常に同じとは限りません。 詳細については、「フォーカスの 概要 」と「 入力の概要」を参照してください。
呼び出し Focus が trueを返す場合、 IsKeyboardFocused と IsKeyboardFocusWithin も true。
関連するプロパティがまだ trueされていない場合は、 Focusを呼び出すと、 PreviewLostKeyboardFocus、 PreviewGotKeyboardFocus (ソースは新しいフォーカス ターゲット)、 IsKeyboardFocusedChanged、 IsKeyboardFocusWithinChanged、 LostKeyboardFocus、 GotKeyboardFocus (ソースは新しいフォーカス ターゲット) の順序で 1 つ以上のイベントが発生します。
この呼び出しを成功させるには、アプリケーション内の他のいくつかの要素に以前にフォーカスを設定する必要があります。 また、親コンテナー要素がこのメソッドを呼び出すと、特定の状況で子がフォーカスを取得し、戻り値が falseされます。 要素にフォーカスがあるかどうかをテストするには、 IsKeyboardFocusWithin プロパティと IsKeyboardFocused プロパティを使用します。