FrameworkElement.MoveFocus(TraversalRequest) Method

Definition

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

C#
public override sealed bool MoveFocus(System.Windows.Input.TraversalRequest request);

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.

C#
// 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);
}

Remarks

This implementation overrides UIElement.MoveFocus and seals the method.

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also