按钮颜色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> 

我在做什么错?

+0

,你可以尝试使用'' –

+0

它不承认作为一个属性如果我使用'Background.Color' –

+2

可能重复的[WPF - 按钮鼠标改变颜色](http://stackoverflow.com/questions/20073294/wpf-button-mouse-over-change-color) –

你应该使用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>