如何在堆栈面板内的控件之间设置边距而不重复?

时间:2012-04-28 14:00:57

标签: silverlight silverlight-4.0

我可以为每个堆栈面板元素指定边距,但这将是重复...并且如果发生更改,我将需要更新所有控件...

有没有办法为堆栈面板定义一次?

谢谢

1 个答案:

答案 0 :(得分:1)

(抱歉我的英语不好)

Xin的答案非常适合您的要求,但如果您想为所有stackPanel设置更多属性,我建议您创建一个样式:

 <Style TargetType="StackPanel" x:Key="CustomStackPanel">
     <Setter Property="Margin" Value="10,12,15,20"/>
     <Setter Property="Height" Value="50"/>                
 </Style>

并像这样使用它:

<StackPanel>
    <StackPanel Background="Red" Style="{StaticResource CustomStackPanel}"/>
    <StackPanel Background="Green" Style="{StaticResource CustomStackPanel}"/>
    <StackPanel Background="Blue" Style="{StaticResource CustomStackPanel}"/>
</StackPanel>

如果从样式中删除x:Key,则包含样式的元素中的所有 StackPanel将使用该样式。如果您在app.xaml上声明了该样式,则应用中的所有stackPanel都将使用该样式。