wpf - KeyboardNavigationMode Contained 和 Cycle 之间的区别?

标签 wpf mode keyboard-navigation

简短的问题 - 用简单易懂的语言表达的真正区别是什么?..

摘自 MSDN:

  • 包含 - 根据导航方向,当到达容器的末尾或开头时,焦点将返回到第一个或最后一个项目,但不会移过开头或结尾容器的。
  • 循环 - 根据导航方向,当到达容器的末尾或开头时,焦点将返回到第一个或最后一个项目。使用逻辑导航焦点无法离开容器。

区别在于这些模式描述的最后部分。但我无法理解。谁能用更人性化的方式解释一下?

最佳答案

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

KeyboardNavigation.TabNavigation, KeyboardNavigation.DirectionalNavigation, KeyboardNavigation.ControlTabNavigation

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

例如;

KeyboardNavigation.DirectionalNavigation="Contained"

用于指示当我按键盘上的向下或向上箭头在列表中的项目之间导航时,导航停止在最后一项或第一项,然后我们必须使用相反的按钮进一步向上导航或向下。

KeyboardNavigation.DirectionalNavigation="Cycle"

用于指示当我按键盘中的向下或向上箭头在列表中的项目之间导航时,导航以循环方式从顶部或底部项目继续

TabNavigation 也是如此,它指示当我们按下列表中的选项卡按钮时的导航模式

关于wpf - KeyboardNavigationMode Contained 和 Cycle 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4397727/

相关文章:

wpf - 数据模板中的设计时数据上下文?

python - 如何使用 SciPy 仅返回模式

javascript - 获取数组中出现次数最多的元素

wpf - TabNavigation 选择 ListBox 的第一项

vim - 为 vim 命令行添加导航键绑定(bind)

c# - 哪个更快更有效——begininvoke 还是 synchronisecontext.post?

c# - 如何加快3个联合表中的选择速度

c# - 如何使用 CodedUI 自动化知道光标在 WpfEdit 字段中的位置?

linux - Linux下查看原始文件权限的方法

.net - WPF中的TabIndex与KeyboardNavigation.TabIndex