FrameworkElement.MoveFocus(TraversalRequest) Method

Definition

Moves the keyboard focus away from this element and to another element in a provided traversal direction.

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

Parameters

request
TraversalRequest

The direction that focus is to be moved, as a value of the enumeration.

Returns

Returns true if focus is moved successfully; false if the target element in direction as specified does not exist or could not be keyboard focused.

Examples

The following example implements a handler that handles several possible button inputs. Each button represents a possible FocusNavigationDirection. The handler tracks the element with current keyboard focus, and calls MoveFocus on that element, by specifying the appropriate FocusNavigationDirection as initialization for the TraversalRequest type parameter provided.

// 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

Remarks

This implementation overrides UIElement.MoveFocus and seals the method.

Applies to

See also