KeyboardNavigationMode 枚举

定义

指定当发生逻辑和方向导航时,对焦点所做更改的可能值。

public enum class KeyboardNavigationMode
public enum KeyboardNavigationMode
type KeyboardNavigationMode = 
Public Enum KeyboardNavigationMode
继承
KeyboardNavigationMode

字段

Contained 4

根据导航方向,当到达容器的末尾或开始位置时,焦点将返回到第一项或最后一项,而不会移至超出容器的开始或末尾的位置。

Continue 0

对于每个元素,只要它是导航停止位,就可以接收键盘焦点。 当到达边缘时,导航会离开包含元素。

Cycle 2

根据导航方向,当到达容器的末尾或开始位置时,焦点将返回到第一项或最后一项。 焦点无法使用逻辑导航离开该容器。

Local 5

只有 Tab 索引位于此容器内且其行为类似 Continue 时,才会在本地子树上考虑这些索引。

None 3

不允许在此容器内进行键盘导航。

Once 1

容器及其所有子元素整个只能接收焦点一次。 组中第一个子树或最后一个已设定焦点的元素会接收焦点。

示例

以下示例创建具有多个 MenuItem 对象的 Menu。 附加 TabNavigation 属性设置为 上的 MenuCycle。 这意味着,使用 中的 MenuTab 键更改焦点时,焦点将从每个元素移动,当最后一个元素到达时,焦点将返回到第一个元素。

<Menu KeyboardNavigation.TabNavigation="Cycle">
  <MenuItem Header="Menu Item 1" />
  <MenuItem Header="Menu Item 2" />
  <MenuItem Header="Menu Item 3" />
  <MenuItem Header="Menu Item 4" />
</Menu>
Menu navigationMenu = new Menu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
MenuItem item3 = new MenuItem();
MenuItem item4 = new MenuItem();

navigationMenu.Items.Add(item1);
navigationMenu.Items.Add(item2);
navigationMenu.Items.Add(item3);
navigationMenu.Items.Add(item4);

KeyboardNavigation.SetTabNavigation(navigationMenu, 
    KeyboardNavigationMode.Cycle);
Dim navigationMenu As New Menu()
Dim item1 As New MenuItem()
Dim item2 As New MenuItem()
Dim item3 As New MenuItem()
Dim item4 As New MenuItem()

navigationMenu.Items.Add(item1)
navigationMenu.Items.Add(item2)
navigationMenu.Items.Add(item3)
navigationMenu.Items.Add(item4)

KeyboardNavigation.SetTabNavigation(navigationMenu, KeyboardNavigationMode.Cycle)

适用于

另请参阅