【发布时间】:2011-09-29 15:31:51
【问题描述】:
在键盘导航中,当一个按钮被选中时,它有一个虚线边框。如何改变它的颜色?
【问题讨论】:
在键盘导航中,当一个按钮被选中时,它有一个虚线边框。如何改变它的颜色?
【问题讨论】:
我相信您正在寻找的是FocusVisualStyle。如果将此设置为 null,则可以隐藏虚线边框。在您的情况下,您想更改颜色。您要做的是创建一个新样式并将其应用于FocusVisualStyle。
这是一篇 MSDN 文章,向您展示了如何执行此操作:
http://msdn.microsoft.com/en-us/library/ms744790.aspx
他们列出的基本代码如下:
<Page.Resources>
<Style x:Key="MyFocusVisual">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="-2" StrokeThickness="1" Stroke="Red" StrokeDashArray="1 2"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Page.Resources>
<StackPanel Background="Ivory" Orientation="Horizontal">
<Canvas Width="10"/>
<Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
Focus Here</Button>
<Canvas Width="100"/>
<Button Width="100" Height="30" FocusVisualStyle="{DynamicResource MyFocusVisual}">
Focus Here</Button>
</StackPanel>
【讨论】:
ContentControl 和ItemsControl 也使用FocusVisualStyle,因此可能还需要在这些实例中添加FocusVisualStyle="{x:Null}"。