私はWPFスタイルを理解しようとしています。
1 つのキーを定義してStyle
、それを別のキーに適用する方法を説明できるかどうか疑問に思っていTargetTypes
ました。
このアプローチは私にはうまくいきません。というエラーメッセージが表示されます"TargetType 'TextBlock'" does not match the Element "Image".'
すべての style:type の組み合わせに独自のキー名が必要なのは奇妙に思えます。私は何か間違ったことをしていますか?それは完全に間違ったアプローチですか?
たとえば、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>