我可以为每个堆栈面板元素指定边距,但这将是重复...并且如果发生更改,我将需要更新所有控件...
有没有办法为堆栈面板定义一次?
谢谢
答案 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都将使用该样式。