У меня есть несколько стилей, подобных этому (слева, справа, в центре), которые отличаются только тем, в каких углах (если они есть) закруглены.Установить свойство вложенного элемента в стиле WPF
<Style x:Key="ToggleRadioButtonLeft"
TargetType="{x:Type ToggleButton}"
BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Border BorderBrush="Blue"
Background="{TemplateBinding Background}"
Padding="15,0"
BorderThickness="1"
CornerRadius="10,0,0,10"> <!-- extract this -->
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Background" Value="White"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
</Style.Triggers>
</Style>
Я хотел бы быть в состоянии создать единый базовый стиль без закругленных углов любых (то есть центр типа кнопки), а затем еще два на его основе, которые устанавливают закругленные углы для левых и правых элементов, но я не могу понять, как установить радиус границы в производном стиле, потому что это не элемент верхнего уровня в стиле.
Я использовал этот подход успешно: http://stackoverflow.com/questions/9232502/шаблон-связывающий-с прикрепленными-свойствами. вкратце: создать прикрепленное свойство и установить его значение через set setter. шаблон может создать привязку к этому свойству – ASh
@ASh вы могли бы разработать? Что происходит в этом вопросе более сложно, чем я могу легко разобрать. –
Используйте 4 отдельных ресурса, подобных этому ' ' и используйте их в вашем стиле 'Style', используя' DynamicResource'. –
AnjumSKhan