XYFocusNavigationStrategyOverride Enum

Definition

Specifies how the XAML framework determines the target of an XY navigation.

Overrides XYFocusKeyboardNavigationStrategyMode.

public enum class XYFocusNavigationStrategyOverride
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
enum class XYFocusNavigationStrategyOverride
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public enum XYFocusNavigationStrategyOverride
Public Enum XYFocusNavigationStrategyOverride
Inheritance
XYFocusNavigationStrategyOverride
Attributes

Fields

Name Value Description
None 0

No navigation override is applied.

Auto 1

Indicates that navigation strategy is inherited from the element's ancestors. If all ancestors have a value of Auto, the fallback strategy is Projection.

Projection 2

Indicates that focus moves to the first element encountered when projecting the edge of the currently focused element in the direction of navigation.

Note

Other factors, such as the previously focused element and proximity to the axis of the navigation direction, can influence the result.

Focus navigation - projection

Focus moves from A to D on down navigation based on projection of the bottom edge of A

NavigationDirectionDistance 3

Indicates that focus moves to the element closest to the axis of the navigation direction.

The edge of the bounding rect corresponding to the navigation direction is extended and projected to identify candidate targets. The first element encountered is identified as the target. In the case of multiple candidates, the closest element is identified as the target. If there are still multiple candidates, the topmost/leftmost element is identified as the candidate.

Focus navigation - distance

Focus moves from A to C and then from C to B on down navigation

RectilinearDistance 4

Indicates that focus moves to the closest element based on the shortest 2D distance (Manhattan metric).

This distance is calculated by adding the primary distance and the secondary distance of each potential candidate. In the case of a tie:

  • The first element to the left is selected if the navigation direction is up or down
  • The first element to the top is selected if the navigation direction is left or right

Here we show how focus moves from A to B based on rectilinear distance.

  • Distance (A, B, Down) = 10 + 0 = 10
  • Distance (A, C, Down) = 0 + 30 = 30
  • Distance (A, D, Down) 30 + 0 = 30
Focus navigation - rectilinear distance

Focus moves from A to B based on rectilinear distance

Remarks

XY navigation is used to navigate a user interface (UI) with a game controller or keyboard directional arrows. For more info, see Gamepad and remote control interactions

Applies to

See also