按钮颜色WPF
问题描述:
我想改变我的按钮颜色,当鼠标滑过它,但它不工作(按钮仍然是蓝色的),我发现所有的例子去像我这样做:按钮颜色WPF
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#424242"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#8BC34A"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
我在做什么错?
答
你应该使用ControlTemplate
用于此目的是这样的:
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="Background" Value="#424242"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#8BC34A"/>
</Trigger>
</Style.Triggers>
</Style>
</Button.Style>
,你可以尝试使用' ' –
它不承认作为一个属性如果我使用'Background.Color' –
可能重复的[WPF - 按钮鼠标改变颜色](http://stackoverflow.com/questions/20073294/wpf-button-mouse-over-change-color) –