XYFocusNavigationStrategy 枚举

定义

指定用于使用 XYFocusDownNavigationStrategy、XYFocusLeftNavigationStrategyXYFocusRightNavigationStrategyXYFocusUpNavigationStrategy 在多个候选目标之间导航的消除歧义策略。

注意

其他因素(例如以前聚焦的元素或与导航方向轴的邻近度)可能会影响导航最终结果。

public enum class XYFocusNavigationStrategy
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
enum class XYFocusNavigationStrategy
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public enum XYFocusNavigationStrategy
Public Enum XYFocusNavigationStrategy
继承
XYFocusNavigationStrategy
属性

字段

Auto 0

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

NavigationDirectionDistance 2

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

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

焦点导航 - 距离

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

Projection 1

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

焦点导航 - 投影

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

RectilinearDistance 3

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

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

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

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

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

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

注解

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

适用于

另请参阅