2016-09-29 222 views
0

我想改变背景颜色时按钮获得点击/聚焦,但没有任何更改发生。Wpf按钮背景颜色变化时焦点

<Style x:Key="btnInputForm" TargetType="{x:Type Button}"> 
    <Setter Property="FontSize" Value="22"/> 
    <Setter Property="Background" Value="#2f772b"/> 
    <Setter Property="Foreground" Value="White"/> 
    <Setter Property="Width" Value="120"/> 
    <Setter Property="Height" Value="23"/> 
    <Setter Property="Button.RenderTransformOrigin" Value=".5,.5"/> 
    <Setter Property="TextElement.FontSize" Value="14" /> 
    <Setter Property="TextElement.FontFamily" Value="Calibri" /> 
    <Setter Property="Control.BorderBrush" Value="#085b09" /> 
    <Setter Property="Control.BorderThickness" Value="1,1,1,1" /> 
    <Setter Property="Margin" Value="3,10,3,3" /> 
    <Setter Property="HorizontalAlignment" Value="Right" /> 
    <Setter Property="VerticalAlignment" Value="Bottom" /> 
    <Style.Triggers> 
     <Trigger Property="IsFocused" Value="True"> 
      <Setter Property="Background" Value="Yellow"/> 
     </Trigger> 
    </Style.Triggers> 


</Style> 

回答

0
<Style TargetType="{x:Type Button}"> 
     <Setter Property="Background" Value="White"/> 
     <Setter Property="Foreground" Value="Black"/> 
     <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="Green"/> 
      </Trigger> 
      <Trigger Property="IsFocused" Value="True"> 
       <Setter Property="Background" Value="Red"/> 
      </Trigger> 
      <Trigger Property="IsPressed" Value="True"> 
       <Setter Property="Background" Value="Yellow"/> 
      </Trigger> 
     </Style.Triggers> 
    </Style> 

而且按钮:

<Button Content="Click Me" Height="30" Width="100"></Button> 
+0

它感谢为我工作:) –