如何将XAML单选按钮重新设计为彩色标签

如何将XAML单选按钮重新设计为彩色标签,xaml,triggers,controltemplate,Xaml,Triggers,Controltemplate,我将以下样式与一组单选按钮一起使用: <Style x:Key="RadioTextStyle" TargetType="{x:Type RadioButton}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RadioButton}">

我将以下样式与一组单选按钮一起使用:

       <Style x:Key="RadioTextStyle" TargetType="{x:Type RadioButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Label Content="{TemplateBinding Content}" Foreground="Red"/>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsChecked" Value="True">
                            <Setter Property="Background" Value="Green"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

触发器没有执行,我假设这是因为它正在查找标签的IsChecked属性。如何确保标签颜色正确跟踪基础单选按钮的已检查状态

我仍在尝试多种变体,目前有以下几种:

<Style x:Key="RadioTextStyle" TargetType="{x:Type RadioButton}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type RadioButton}">
                    <Label x:Name="RadioLabel"  Content="{TemplateBinding Content}" Foreground="Red"/>
                    <ControlTemplate.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsChecked}" Value="True">
                            <Setter Property="Foreground" Value="Green"/>
                        </DataTrigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

这在我看来是正确的,intellisense提供了大部分价值观。但是,它实际上仍然不会将选定的标签更改为绿色

谢谢,
安迪

保持你原来的尝试。你只需要告诉你的触发器,它实际上在用
TargetName
like改变什么

<Style x:Key="RadioLabel" TargetType="{x:Type RadioButton}">
   <Setter Property="Template">
      <Setter.Value>
         <ControlTemplate TargetType="{x:Type RadioButton}">

             <Label x:Name="RadioLabel"
                    Content="{TemplateBinding Content}" Foreground="Red"/>

            <ControlTemplate.Triggers>
               <Trigger Property="IsChecked" Value="True">
                  <Setter TargetName="RadioLabel"
                          Property="Background" Value="Green"/>
               </Trigger>
            </ControlTemplate.Triggers>
         </ControlTemplate>
      </Setter.Value>
   </Setter>
</Style>


希望这有帮助,干杯。

这很有帮助。谢谢