我正在尝试掌握 WPF 样式。
我想知道是否可以定义一个Style
键,然后描述它应该如何应用于不同的TargetTypes
.
这种方法对我不起作用。我收到一条错误消息说"TargetType 'TextBlock'" does not match the Element "Image".'
似乎很奇怪,每种样式:类型组合都需要它自己的键名。我做错了什么?这完全是错误的方法吗?
例如在 Window.xaml 中:
<TabControl TabStripPlacement="Bottom">
<TabItem Content="{Binding UserContent}">
<TabItem.Header>
<StackPanel Orientation="Horizontal">
<Image Source="users_24.gif" Style="{StaticResource TabHdr}"/>
<TextBlock Text="{x:Static r:Messages.Tab_Users}" Style="{StaticResource TabHdr}"/>
</StackPanel>
</TabItem.Header>
</TabItem>
</TabControl>
并在 Resources.xaml
<Style x:Key="TabHdr" TargetType="{x:Type Image}">
<Setter Property="Width" Value="20"/>
<Setter Property="Height" Value="20"/>
<Setter Property="Margin" Value="2, 1, 2, 1"/>
</Style>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Margin" Value="5, 1, 1, 1"/>
</Style>