键盘导航模式Contained和Cycle之间的区别是什么?

14

简单问题 - 两者的真正区别是什么?请用通俗易懂的话来解释。

MSDN摘录:

  • Contained - 根据导航方向,在到达容器的末尾或开头时,焦点会返回到第一个或最后一个项目,但不会超出容器的起始或结束位置。
  • Cycle - 根据导航方向,在到达容器的末尾或开头时,焦点会返回到第一个或最后一个项目。使用逻辑导航无法离开容器。

这两种模式的区别在于描述中最后一部分。但我看不懂。有人能用更通俗易懂的话来解释一下吗?

1个回答

17

KeyboardNavigation类定义了三个附加属性,允许修改每种导航模式:

KeyboardNavigation.TabNavigation、 KeyboardNavigation.DirectionalNavigation、 KeyboardNavigation.ControlTabNavigation

这些属性中的每一个都定义了六个可能的值。这些值指定了在列表控件(例如ListBox、listview)中如何进行导航。

例如:

KeyboardNavigation.DirectionalNavigation="Contained"

按下键盘上的向下或向上箭头在列表中导航项目时,这表示导航到了最后一个项目或第一个项目,因此我们必须使用相反的按钮继续向上或向下导航。

KeyboardNavigation.DirectionalNavigation="Cycle"

按下键盘上的向上或向下箭头在列表中导航时,使用该属性指示循环方式从顶部或底部项继续导航。

TabNavigation也是一样的,它指示了在列表中按下tab键时的导航模式。


谢谢!那非常清晰易懂。/* 尝试后添加 */ 哦天啊,太酷了! :) - Jefim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接