在Silverlight中重用面板子项的样式

时间:2013-02-10 15:49:21

标签: silverlight xaml

我正在使用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,如何重复使用此样式而不再复制并重新粘贴?

1 个答案:

答案 0 :(得分:0)

你有几个选择。把它放在他们父母的Object.Resources中,例如Window.ResourcesUserControl.Resources或任何情况。除此之外,它将影响该父级中所有相同类型的对象。

另一种方法是做同样的事情,如果你不想这样做,给每个样式模板一个x:Key名称,并明确地将它调用到每个实例,如<Buttton Style="{StaticResource YourExplicitStyleKeyName}"/>

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