Я использую стиль XAML, чтобы создать собственную радио-кнопку, используя мои собственные изображения. Стиль использует триггеры для изменения внешнего вида кнопки в зависимости от фокуса, нажатия и т. Д. Вот стиль:
<Style x:Key="SmallButtonAsRadioButton" TargetType="RadioButton">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid x:Name="Container">
<Image x:Name="img" Source="/Resources/Elements/Buttons/10.png" Margin="6" />
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsKeyboardFocused" Value="True">
<Setter TargetName="img" Property="Source" Value="/Resources/Elements/Buttons/11.png" />
<Setter TargetName="img" Property="Margin" Value="0" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsKeyboardFocused" Value="True" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="img" Property="Source" Value="/Resources/Elements/Buttons/12.png" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsKeyboardFocused" Value="False" />
<Condition Property="IsChecked" Value="True" />
</MultiTrigger.Conditions>
<Setter TargetName="img" Property="Source" Value="/Resources/Elements/Buttons/12a.png" />
<Setter TargetName="img" Property="Margin" Value="6" />
</MultiTrigger>
<Trigger Property="IsPressed" Value="True">
<Setter TargetName="img" Property="Source" Value="/Resources/Elements/Buttons/12.png" />
<Setter TargetName="img" Property="Margin" Value="0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Мне нужно создать новый стиль, основанный на этом, который использует разные изображения. Очевидно, я хотел бы повторно использовать этот стиль, но я не уверен, как переопределить эти установщики изображений. Что-то вроде:
<Style x:Key="SmallButtonAsRadioButtonBlue" BasedOn="{StaticResource SmallButtonAsRadioButton}" TargetType="RadioButton">
<Setter - (Override image...
<Setter - (Override image...
Любое понимание приветствуется.