Дано:Условный BasedOn в XAML стили
<Style x:Key="ThirdLevelGroupBoxStyle" TargetType="GroupBox" BasedOn="{StaticResource MetroGroupBox}">
<Setter Property="Background" Value="{DynamicResource AccentColorBrush3}" />
</Style>
<Style x:Key="SecondLevelGroupBoxStyle" TargetType="GroupBox" BasedOn="{StaticResource MetroGroupBox}">
<Setter Property="Background" Value="{DynamicResource AccentColorBrush2}" />
</Style>
<Style TargetType="GroupBox" x:Key="WidgetControlTemplateStyle" BasedOn="{StaticResource ThirdLevelGroupBoxStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding CanExecuteClickCommand}" Value="True">
<!-- TODO: SecondLevelGroupBoxStyle -->
<Setter Property="Background" Value="{DynamicResource AccentColorBrush2}" />
</DataTrigger>
</Style.Triggers>
</Style>
<ControlTemplate TargetType="ContentControl" x:Key="WidgetControlTemplate">
<GroupBox ... Style="{StaticResource WidgetControlTemplateStyle}">
<ContentPresenter />
</GroupBox>
</ControlTemplate>
ControlTemplate
имеет стиль WidgetControlTemplate
. Я хочу основать (BasedOn
) WidgetControlTemplate
условно на ThirdLevelGroupBoxStyle
или SecondLevelGroupBoxStyle
, чтобы избежать дублирования XAML. Есть ли способ достичь этого?
Если я не могу этого сделать, я должен продублировать определение SecondLevelGroupBoxStyle
.
Спасибо, по крайней мере, я знаю, что нет хорошего способа это сделать. И да, это более чем 1 собственность; ( –