WPF:すべての子コントロールにプロパティ値を継承するにはどうすればよいですか?
-
05-07-2019 - |
質問
他のコントロールを含む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に関連していたため、質問に回答しませんでしたが、どこを見ればよいかについてのアイデアが得られると思います。
所属していません StackOverflow