WPF style without target type?

How can I create a WPF style that does not have a target type (which can be applied to all objects)?

<Style x:Key="Basic" TargetType="???"> <Setter Property="FontFamily" Value="Tahoma"/> <Setter Property="FontSize" Value="12"/> </Style> 

I want to use all other styles in this "basic" style.

Regards, MadSeb

+6
inheritance styles wpf
source share
1 answer

Add "Control". to the beginning of the property and remove the TargetType. Then in the styles that come from it, use BasedOn with a StaticResource pointing to the base style.

 <Style x:Key="basicStyle"> <Setter Property="Control.FontFamily" Value="Tahoma" /> <Setter Property="Control.FontSize" Value="12" /> </Style> <Style TargetType="{x:Type Label}" BasedOn="{StaticResource basicStyle}"> <Setter Property="HorizontalAlignment" Value="Right" /> <Setter Property="VerticalAlignment" Value="Center" /> </Style> <Style TargetType="{x:Type TextBlock}" BasedOn="{StaticResource basicStyle}"> <Setter Property="HorizontalAlignment" Value="Left" /> <Setter Property="VerticalAlignment" Value="Center" /> </Style> <Style TargetType="{x:Type Button}" BasedOn="{StaticResource basicStyle}"> <Setter Property="HorizontalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="Margin" Value="2,4" /> </Style> 
+14
source share

All Articles