2010-10-13 5 views
6

Hedef türü olmayan (tüm nesneler için geçerli olan) bir WPF stiline nasıl sahip olabilirim?WPF Stil, hedef türü yok mu?

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

Diğer tüm stilleri bu "temel" stile dayandırmak istiyorum.

Selamlar, MadSeb

cevap

14

Ekleme "Denetim". Mülkün başlangıcına gidip TargetType'ı kaldırın. Daha sonra, ondan türeyen stillerde, Base Style'u kullanarak bir StaticResource ile BasedOn kullanın.

<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>