2016-08-24 6 views
3

Buttonのデフォルトの背景を削除しようとしていますが、マウスでボタンの上にマウスを置くと、Buttonがオレンジ色で強調表示されます。これはこれまで私が思いついたことです。デフォルトボタンを変更するWPFを強調表示

<Window.Resources> 
    <Style TargetType="{x:Type Button}"> 
     <Setter Property="FontSize" Value="20" /> 
     <Setter Property="Margin" Value="5" /> 
     <Setter Property="MaxHeight" Value="30" /> 
     <Setter Property="Width" Value="150" /> 
     <Setter Property="Background" Value="Transparent" /> 
     <Setter Property="BorderBrush" Value="Transparent" /> 
     <Setter Property="Cursor" Value="Hand" /> 
     <Style.Triggers> 
      <Trigger Property="IsMouseOver" Value="True"> 
       <Setter Property="Background" Value="Orange"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 
</Window.Resources> 

ただし、ユーザーがボタン上にマウスを置くと、オレンジの代わりにデフォルトの青色のスティルで強調表示されます。ボタンのテキストが徐々にオレンジ色で強調表示されるように、これを変更するにはどうすればよいですか?

答えて

2

あなたはControlTemplate.Triggerを追加する必要があります。

<Style TargetType="{x:Type Button}"> 
<Setter Property="FontSize" Value="20" /> 
<Setter Property="Margin" Value="5" /> 
<Setter Property="MaxHeight" Value="30" /> 
<Setter Property="Width" Value="150" /> 
<Setter Property="Background" Value="Transparent" /> 
<Setter Property="Cursor" Value="Hand" /> 
<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type Button}"> 
      <Border Background="{TemplateBinding Background}" 
        BorderBrush="{TemplateBinding BorderBrush}" 
        BorderThickness="{TemplateBinding BorderThickness}"> 
      <ContentPresenter HorizontalAlignment="Center" 
           VerticalAlignment="Center"/> 
      </Border> 
      <ControlTemplate.Triggers> 
       <Trigger Property="IsMouseOver" 
          Value="True"> 
        <Setter Property="Background" 
          Value="Orange"/> 
       </Trigger> 
     </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter>  

関連する問題