当单击标准的WPF按钮时,它将以蓝色突出显示(可能使用设置的任何Windows主题中的蓝色),并且它将保持突出显示,直到您与任何其他控件交互。对于我的应用程序,它会让用户感到困惑。
有没有一种简单的方法可以关闭它,让按钮恢复到正常的样式?我使用的是.NET 4。
发布于 2011-05-10 20:57:39
尝试将Focusable
设置为false。该按钮将是可单击的,但不会保持焦点。
发布于 2011-05-10 20:58:39
这是Aero按钮具有焦点时的默认外观。您可以设置Focusable="False"
,也可以使用自定义样式,当按钮具有焦点时,该样式的呈现方式不会有所不同。类似于:
xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero"
<Style x:Key="BaseButtonStyle" TargetType="{x:Type ButtonBase}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ButtonBase}">
<theme:ButtonChrome Name="Chrome" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" RenderDefaulted="{TemplateBinding Button.IsDefaulted}"
RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}"
SnapsToDevicePixels="true">
<ContentPresenter Margin="{TemplateBinding Padding}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</theme:ButtonChrome>
<ControlTemplate.Triggers>
<!--
Do not show blue when focused
<Trigger Property="IsKeyboardFocused" Value="true">
<Setter TargetName="Chrome" Property="RenderDefaulted" Value="true" />
</Trigger>-->
<Trigger Property="ToggleButton.IsChecked" Value="true">
<Setter TargetName="Chrome" Property="RenderPressed" Value="true" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="#ADADAD" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="{x:Type ToggleButton}" BasedOn="{StaticResource BaseButtonStyle}" TargetType="{x:Type ToggleButton}" />
<Style x:Key="{x:Type RepeatButton}" BasedOn="{StaticResource BaseButtonStyle}" TargetType="{x:Type RepeatButton}" />
<Style x:Key="{x:Type Button}" BasedOn="{StaticResource BaseButtonStyle}" TargetType="{x:Type Button}" />
您需要添加一个对PresentationFramework.Aero.dll的引用
发布于 2011-05-10 21:00:16
这就是聚焦状态。要关闭它,您必须更改聚焦状态。使用Blend是最简单的。
我不建议将可聚焦设置为false,因为它会干扰键盘的使用。
https://stackoverflow.com/questions/5950309
复制相似问题