小编Mat*_*obi的帖子

如何防止选项卡导航到控件,同时允许方向导航到该控件

在WPF(MVVM,没有代码隐藏),说我有以下xaml:

<StackPanel>
    <Button>Normal 1</Button>
    <Button>Special</Button> <!--This button should not tab focus, but still focus via arrow keys-->
    <Button>Normal 2</Button>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

默认情况下,您可以(1)按钮之间的标签或(2)按钮之间的上/下箭头.我想使按钮之一- 特殊按钮- 通过标签可成为焦点,但通过上/下依然可获得焦点.我试过了IsTabStop="False",但这也阻止了通过方向导航(向上/向下箭头)聚焦该按钮.

如何继续允许方向导航,如何从标签导航中删除单个按钮对于所有其他控件,选项卡和箭头应该不受影响.

我试过的组合IsTabStop,KeyboardNavigation.TabNavigationKeyboardNavigation.DirectionalNavigation无济于事.也许我找不到合适的搭配.或许还有另一种方法.想法?


编辑:好的,我正在加入一笔赏金.为了清楚起见,我正在寻找一个MVVM,没有代码隐藏的方式来装饰一个控件(例如通过样式,附加属性,附加行为等),这样就可以从Tab键顺序中删除它,同时保持有效的方向导航目标.对窗口(或类似)中的控件的硬编码知识是不可接受的.这需要是一个通用的,可重用的解决方案.像:<Button AllowDirectionalNavigationButPreventTabNavigation="True"/>.

wpf focus tabbing keyboard-navigation

3
推荐指数
1
解决办法
5648
查看次数

标签 统计

focus ×1

keyboard-navigation ×1

tabbing ×1

wpf ×1