0

私は Silverlight 5 を使用しており、私のページの 1 つに、次の方法でスタイルを設定する子を持つ StackPanel があります。

<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
    <Style TargetType="Button">
        <Setter Property="FontSize" Value="12"></Setter>
    </Style>
    <Style TargetType="TextBlock">
        <Setter Property="Foreground" Value="DarkRed"></Setter>
    </Style>
</StackPanel.Resources>
<TextBlock Text="TextBlockText:"></TextBlock>
<Button Content="FirstButton" Command="{Binding SetLayout}" CommandParameter="FirstOnly"/>        
<Button Content="FirstSecondButton" Command="{Binding SetLayout}" CommandParameter="FirstSecond"/>
</StackPanel>

同じページに別の StackPanel があります。このスタイルをコピーして貼り付けずに再利用するにはどうすればよいですか?

4

1 に答える 1

0

いくつかのオプションがあります。場合によってObject.Resourcesは、両親の両方にそれを入れてください。これを除いて、その親内の同じタイプのすべてのオブジェクトに影響します。Window.ResourcesUserControl.Resources

別の方法は、同じことを行うことです。それが必要ない場合は、各スタイルテンプレートにx:Key名前を付けて、次のように各インスタンスに明示的に呼び出します<Buttton Style="{StaticResource YourExplicitStyleKeyName}"/>

または、スタイルを に配置して、ResourceDictionary上記と同じ方法で明示的に呼び出すこともできます。お役に立てれば。

于 2013-02-10T19:48:12.730 に答える