Я использую следующий стиль с группой радиокнопок:Как рестайлинг кнопки XAML радио в качестве цветной этикетки
<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 свойство метки. Как я могу правильно убедиться, что цвет ярлыка правильно отслеживает состояние IsChecked базового RadioButton?
Я все еще пытаюсь много вариантов этого и в настоящее время имеют следующие:
<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 предлагает большинство значений. Тем не менее, он по-прежнему не изменяет выбранные ярлыки на зеленый.
Спасибо, Энди
Это очень помогает. Благодарю. –