0

私は html と css の多くの年の出身なので、スタイリングに関しては同じ使用パターンを検索します。今回は、単一の要素 (css の #id など) で使用される外部スタイルを定義する必要があり、x:Key->Style (または css の .class) でそれらを区別する子要素に自動的に適用されます。問題は、要素のタイプによってのみ区別でき、同じタイプのすべての要素が同じスタイルになることです。現時点で見つけた唯一の解決策は、インライン スタイルを使用するか、まったく新しいスタイル定義を作成することですが、これでは読みやすさと長期的な管理性が低下します。

次のような作業を行う必要があります: 外部スタイル

<Style TargetType="DockPanel" x:Key="MenuPrincipale">
    <Setter Property="Width" Value="100"/>
    <Style.Resources>
        <Style TargetType="StackPanel" x:Key="some_class">
            <Setter Property="Margin" Value="5,40,5,0"/>
        </Style>
    </Style.Resources>
</Style>

Xaml

<DockPanel Style="{StaticResource MenuPrincipale}">
    <StackPanel Style="{StaticResource some_class}">
        <Label Foreground="White">this is styled</Label>
    </StackPanel>
    <StackPanel>
        <Label Foreground="White">this is NOT styled</Label>
    </StackPanel>
</DockPanel>
4

1 に答える 1