2010-10-13 10 views
6

Jak mogę mieć styl WPF, który nie ma typu celu (taki, który można zastosować do wszystkich obiektów)?Styl WPF bez typu docelowego?

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

Chcę oprzeć wszystkie pozostałe style na tym "podstawowym" stylu.

Pozdrawiam, MadSeb

Odpowiedz

14

Dołącz "Control". na początek właściwości i usunąć TargetType. Następnie, w stylach, które z niego wypływają, użyj BasedOn z StaticResource wskazując na styl bazowy.

<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> 
Powiązane problemy