0

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

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

4

2 に答える 2

3

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

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

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

例:

<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>
于 2009-09-09T21:14:35.830 に答える
1

Styles と BasedOn 設定の使用を検討してください。

私は最近、ここにある同様のものの例を書きました。残念ながら、質問は Silver Lite に関連していたので、質問には答えませんでしたが、どこを見ればよいかについてのアイデアが得られると思います。

于 2009-09-09T21:06:46.420 に答える