WPF焦点导航包装
有没有办法强制焦点导航(由Tab键或WPF焦点导航包装,wpf,navigation,focus,Wpf,Navigation,Focus,有没有办法强制焦点导航(由Tab键或MoveFocus方法控制)在给定容器内换行?我在下面包含了演示此问题的代码。让选项卡将焦点从TextBox“Charlie”移动到TextBox“Able”(对于TextBox上的Shift+Tab“Able”),而不是将其移动到MenuItem“Alpha”,最简单的方法是什么 使用Ke附加属性,如下所示: <StackPanel KeyboardNavigation.TabNavigation="Cycle"> <TextBo
MoveFocus
方法控制)在给定容器内换行?我在下面包含了演示此问题的代码。让选项卡将焦点从TextBox
“Charlie”移动到TextBox
“Able”(对于TextBox上的Shift+Tab
“Able”),而不是将其移动到MenuItem
“Alpha”,最简单的方法是什么
使用Ke附加属性,如下所示:
<StackPanel KeyboardNavigation.TabNavigation="Cycle">
<TextBox Text="Able" />
<TextBox Text="Baker" />
<TextBox Text="Charlie" />
</StackPanel>
在上找到答案。听起来您想要的是与工具栏相同的行为:您可以在工具栏中使用tab键,但一旦工具栏中的某个元素获得键盘焦点,焦点就会在其中循环。如果是,请按如下方式使用FocusManager:
<StackPanel FocusManager.IsFocusScope="True">
<!-- Controls go here... -->
</StackPanel>
IsFocusScope
是一个完全不同的东西-它定义了一个新的逻辑焦点作用域,它记住该作用域内的逻辑焦点,并在键盘(“物理”)焦点返回该作用域后将其还原。拥有它将不会启用选项卡循环行为-这是由KeyboardNavigation.TabNavigation
属性控制的,如另一个答案中所述。
<StackPanel FocusManager.IsFocusScope="True">
<!-- Controls go here... -->
</StackPanel>