如果我有一组按钮作为wpf控件,例如:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel>
<Button Content="Button 1"/>
<Button Content="Button 2"/>
</StackPanel>
</UserControl>
并运行此应用程序,按钮1,按预期,专注于启动,但没有FocusVisualStyle,即按钮周围的虚线。按Tab键可以获得Button 2焦点,并为其提供FocusVisualStyle。再次按下选项卡可使焦点返回到具有FocusVisualStyle的按钮1。
这是我所追求的行为:在启动时,按钮1应该没有FocusVisualStyle而具有焦点。按下选项卡将焦点保持在按钮1上,并为其提供FocusVisualStyle(不是按钮2)。再次按下选项卡可循环显示每个焦点和FocusVisualStyle的按钮。
理想情况下,我想在XAML中实现这一点,但不确定是否可以尝试通过焦点管理器设置聚焦元素的各种组合。有任何建议如何实现这一目标?
答案 0 :(得分:0)
它的hacky方式,但如果你没有该页面中的任何默认按钮,应该为你做的伎俩。 只需设置
IsDefault="True"
第一个按钮。如果这会干扰屏幕中的任何其他控件行为,则必须在XAML中编写一个行为,以便在选项卡上添加删除IsDefault。