Share via


XYFocusNavigationStrategyOverride 枚举

定义

指定 XAML 框架如何确定 XY 导航的目标。

替代 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
继承
XYFocusNavigationStrategyOverride
属性

字段

Auto 1

指示导航策略继承自元素的上级。 如果所有上级都具有 值 Auto,则回退策略为 Projection

NavigationDirectionDistance 3

指示焦点移动到最靠近导航方向轴的元素。

与导航方向相对应的边界矩形的边缘会被扩展和投影以标识候选目标。 遇到的第一个元素被标识为目标。 在有多个候选项的情况下,最近的元素被标识为目标。 如果仍有多个候选项,则最顶层/最左端的元素被标识为候选项。

焦点导航 - 距离

焦点在向下导航时从 A 移到 C,然后从 C 移到 B

None 0

不应用导航替代。

Projection 2

指示焦点移动到在向导航方向投影当前聚焦元素的边缘时遇到的第一个元素。

注意

诸如先前聚焦的元素以及靠近导航方向轴之类的其他因素可能会影响结果。

焦点导航 - 投影

焦点根据 A 的底边投影在向下导航时从 A 移到 D

RectilinearDistance 4

指示焦点根据曼哈顿指标) (最短的 2D 距离移动到最近的元素。

此距离通过为每个潜在候选焦点添加主距离和辅助距离来计算。 在平局的情况下:

  • 如果导航方向向上或向下,则选择左侧的第一个元素
  • 如果导航方向向左或向右,则选择顶部的第一个元素

下面我们展示了焦点如何根据直线距离从 A 移动到 B。

  • 距离(A - B,向下)= 10 + 0 = 10
  • 距离(A - C,向下)= 0 + 30 = 30
  • 距离(A - D,向下)= 30 + 0 = 30
焦点导航 - 直线距离

焦点根据直线距离从 A 移动到 B

注解

XY 导航用于使用游戏控制器或键盘方向箭头导航用户界面 (UI) 。 有关详细信息,请参阅 游戏板和遥控器交互

适用于

另请参阅