0

私は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>
4

2 に答える 2