2016-04-05 81 views
1

赤い背景を持つToggleButtonがあります。トグルボタンがチェックされているときに緑色の背景を設定する必要があります。ToggleButtonトリガーIsCheckedは、背景を変更しません。

私はこれ試してみた:

<ToggleButton Content="Test 001" Name="btn03" Height="20"> 
    <ToggleButton.Style> 
     <Style TargetType="ToggleButton"> 
      <Setter Property="Background" Value="#ff0000" /> 
      <Style.Triggers> 
       <Trigger Property="IsChecked" Value="True"> 
        <Setter Property="Background" Value="#00ff00" /> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </ToggleButton.Style> 
</ToggleButton> 

しかし、その代わりに、私は(私は私の システムのデフォルトの色だと思います)ライトブルーの色を取得緑色を。

私が間違ってやっていること、それを修正する方法は?

答えて

2

WPF 4.0ではこれを許可していません。別のアプローチについてはhereをご覧ください。

<Grid> 
    <Grid.Resources> 
     <Style x:Key="ToggleButtonStyle" TargetType="{x:Type ToggleButton}"> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type ToggleButton}"> 
         <Border HorizontalAlignment="Center" VerticalAlignment="Center" x:Name="border" Background="Red"> 
          <ContentPresenter/> 
         </Border> 
         <ControlTemplate.Triggers> 
          <Trigger Property="IsChecked" Value="true"> 
           <Setter Property="Background" TargetName="border" Value="Green"/> 
          </Trigger> 
         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 
    </Grid.Resources> 

    <ToggleButton Content="ToggleButton" Style="{StaticResource ToggleButtonStyle}"/> 
</Grid> 
関連する問題