FrameworkElement.MoveFocus(TraversalRequest) メソッド

定義

指定した移動方向の別の要素にこの要素からキーボード フォーカスを移動します。

public:
 override bool MoveFocus(System::Windows::Input::TraversalRequest ^ request);
public override sealed bool MoveFocus (System.Windows.Input.TraversalRequest request);
override this.MoveFocus : System.Windows.Input.TraversalRequest -> bool
Public Overrides NotOverridable Function MoveFocus (request As TraversalRequest) As Boolean

パラメーター

request
TraversalRequest

フォーカスの移動方向を表す列挙値。

戻り値

フォーカスの移動が成功した場合は true が返されます。指定した方向にターゲット要素が存在しない場合や、ターゲット要素にキーボード フォーカスを設定できなかった場合は、false が返されます。

次の例では、いくつかのボタン入力を処理するハンドラーを実装します。 各ボタンは、使用可能 FocusNavigationDirectionな を表します。 ハンドラーは、現在のキーボード フォーカスを持つ要素を追跡し、指定された型パラメーターの初期化として適切な FocusNavigationDirection を指定して、その要素をTraversalRequest呼び出MoveFocusします。

// Creating a FocusNavigationDirection object and setting it to a
// local field that contains the direction selected.
FocusNavigationDirection focusDirection = _focusMoveValue;

// MoveFocus takes a TraveralReqest as its argument.
TraversalRequest request = new TraversalRequest(focusDirection);

// Gets the element with keyboard focus.
UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

// Change keyboard focus.
if (elementWithFocus != null)
{
    elementWithFocus.MoveFocus(request);
}
' Creating a FocusNavigationDirection object and setting it to a
' local field that contains the direction selected.
Dim focusDirection As FocusNavigationDirection = _focusMoveValue

' MoveFocus takes a TraveralReqest as its argument.
Dim request As New TraversalRequest(focusDirection)

' Gets the element with keyboard focus.
Dim elementWithFocus As UIElement = TryCast(Keyboard.FocusedElement, UIElement)

' Change keyboard focus.
If elementWithFocus IsNot Nothing Then
    elementWithFocus.MoveFocus(request)
End If

注釈

この実装では、 メソッドを UIElement.MoveFocus オーバーライドしてシールします。

適用対象

こちらもご覧ください