Стиль WPF без целевого типа? - PullRequest
8 голосов
/ 13 октября 2010

Как мне иметь стиль WPF, у которого нет целевого типа (который можно применять ко всем объектам)?

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

Я хочу основывать все остальные стили на этом "базовом" стиле.

С уважением, MadSeb

1 Ответ

16 голосов
/ 13 октября 2010

Добавить «Контроль».в начало свойства и удалите TargetType.Затем в производных от него стилях используйте BasedOn со StaticResource, указывающим на базовый стиль.

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...