2016-07-28 6 views
-1

私は、ボタン、背景の変更が、境界線なしを確認していないときに私は境界線の色を変更したい以下のスタイルトグルボタンの枠線の色は変わりませんか?

<Style TargetType="{x:Type ToggleButton}" x:Key="ListToggleButton"> 
      <Setter Property="FontSize" Value="15" /> 
      <Setter Property="SnapsToDevicePixels" Value="True" /> 
      <Setter Property="Foreground" Value="#FF232A2E"/> 
      <Setter Property="Background" Value="White"/> 
      <Setter Property="Template"> 
       <Setter.Value> 
        <ControlTemplate TargetType="{x:Type ToggleButton}"> 
         <Border Background="{TemplateBinding Background}" BorderBrush="#FFECECEC" BorderThickness="0,0,0,1"> 
          <Grid> 
           <ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0" /> 
          </Grid> 
         </Border> 
         <ControlTemplate.Triggers> 

          <Trigger Property="IsChecked" Value="False"> 
           <Setter Property="Background" Value="#FF232A2E"/> 
           <Setter Property="BorderBrush" Value="#FFECECEC"/> 
           <Setter Property="BorderThickness" Value="0,0,0,1"/> 
          </Trigger> 

          <Trigger Property="IsChecked" Value="True"> 
           <Setter Property="Background" Value="#FFF5F5F5"/> 
           <Setter Property="BorderBrush" Value="#FF25a0da"/> 
           <Setter Property="BorderThickness" Value="0,0,0,2"/> 
          </Trigger> 

         </ControlTemplate.Triggers> 
        </ControlTemplate> 
       </Setter.Value> 
      </Setter> 
     </Style> 

を持っています!私はあなたが国境の名前を指定し、SetterTargetNameの下でそれを指定する必要があり、事前

答えて

1

感謝を見逃すことは何

TargetNameを省略すると、トリガーの所有者(この場合はToggleButton自体)のプロパティの値が設定されます。ボーダーの背景がトグルボタンの背景プロパティにテンプレートにバインドされているため、Backgroundセッターが動作しています。

<Style TargetType="{x:Type ToggleButton}" x:Key="ListToggleButton"> 
    <Setter Property="FontSize" Value="15" /> 
    <Setter Property="SnapsToDevicePixels" Value="True" /> 
    <Setter Property="Foreground" Value="#FF232A2E"/> 
    <Setter Property="Background" Value="White"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ToggleButton}"> 
       <Border x:Name="ButtonBorder" Background="{TemplateBinding Background}" BorderBrush="#FFECECEC" BorderThickness="0,0,0,1"> 
        <Grid> 
         <ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0,0,0,0" /> 
        </Grid> 
       </Border> 
       <ControlTemplate.Triggers> 
        <Trigger Property="IsChecked" Value="False"> 
         <Setter Property="Background" Value="#FF232A2E"/> 
         <Setter Property="BorderBrush" Value="#FFECECEC" TargetName="ButtonBorder"/> 
         <Setter Property="BorderThickness" Value="0,0,0,1" TargetName="ButtonBorder"/> 
        </Trigger> 
        <Trigger Property="IsChecked" Value="True"> 
         <Setter Property="Background" Value="#FFF5F5F5"/> 
         <Setter Property="BorderBrush" Value="#FF25a0da" TargetName="ButtonBorder"/> 
         <Setter Property="BorderThickness" Value="0,0,0,2" TargetName="ButtonBorder"/> 
        </Trigger> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 
+0

ありがとうございました:)私はあなたの助けにぴったりです。 –

関連する問題