我有一个按钮,我想更改按钮的背景颜色。但是当我将背景属性设置为蓝色等颜色时:
<Button Width="75" Height="25" Margin="6" Background="Blue"/>
当按钮获得焦点时,颜色会变为白色和我的颜色。
如何将这种白色设置为另一种颜色?
最佳答案
我相信您的问题是由 Button
控件的默认 ControlTemplate
引起的。您描述的颜色动画在此 ControlTemplate
中定义,因此您需要提供自己的 ControlTemplate
来删除此行为:
<Button Content="Click Me" Background="Blue">
<Button.Template>
<ControlTemplate TargetType="{x:Type Button}">
<Border Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<ContentPresenter Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Margin="{TemplateBinding Padding}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Button.IsFocused" Value="True">
<Setter TargetName="Border" Property="Background" Value="White" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
关于c# - 当 wpf 中有焦点时更改按钮的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949742/