2015-10-15 198 views
0

我想改變我的按鈕顏色,當鼠標滑過它,但它不工作(按鈕仍然是藍色的),我發現所有的例子去像我這樣做:按鈕顏色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) –

回答

3

你應該使用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>