WPF:すべての子コントロールにプロパティ値を継承するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1401969

質問

他のコントロールを含むUserControlがあります。 UserControlに前景色を設定すると、すべての子コントロールが自動的にそれを継承するようになります。フォントのスタイル/サイズにも同じ問題があります。

これらのプロパティを何らかの方法で自動/継承に設定できますか?ループなしですべてのサブコントロールを設定することは可能ですか?

役に立ちましたか?

解決

リソースディクショナリを作成して、デフォルトのスタイルをグローバルに定義できます。

リソースディクショナリを参照したり、任意のオブジェクトでスタイルを定義したりすることもできます。

いずれの場合でも、これらのスタイルは、スタイルが明示的に定義されていないすべての子オブジェクトに適用されます...

例:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <!--Default styles that will apply to any object of the specified type (if it doesn't have style set locally)-->
    <Style TargetType="Label" >
        <Setter Property="FontWeight" Value="Bold"/>
        <Setter Property="Margin" Value="0"/>
        <Setter Property="Padding" Value="0"/>
    </Style>
</ResourceDictionary>

他のヒント

StylesおよびBasedOn設定の使用方法を確認してください。

最近こちら。残念ながら、質問はSilver Liteに関連していたため、質問に回答しませんでしたが、どこを見ればよいかについてのアイデアが得られると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top