0

我正在使用 Silverlight 5,在我的一个页面中,我有一个 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}"/>

或者您可以将样式放在 a 中ResourceDictionary,并以与上述相同的方式显式调用它们。希望这可以帮助。

于 2013-02-10T19:48:12.730 回答