如果我有一个包含许多元素的Horizontal StackPanel,它们之间有不同的边距:
如果我给每个元素一个左边距或者是否有任何差异 是否有一些优势为每个第二个元素提供左右边距 - 这样只有一个元素可以设置其边距属性。
<StackPanel Orientation="Horizontal">
<TextBlock Name="textblock1" />
<TextBlock Name="textblock2" Margin="5,0,0,0" />
<TextBlock Name="textblock3" Margin="10,0,0,0" />
...
</StackPanel>
或
<StackPanel Orientation="Horizontal">
<TextBlock Name="textblock1" />
<TextBlock Name="textblock2" Margin="5,0,10,0" />
<TextBlock Name="textblock3" />
...
</StackPanel>
我只是想知道是否有关于此的最佳做法。
答案 0 :(得分:1)
如果每个元素的边距相同,则可以将其分解为样式:
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<Style TargetType="TextBlock>
<Setter Property="Margin" Value="5,0,0,0" />
</Style>
</StackPanel.Resources>
<TextBlock Name="textblock1" />
<TextBlock Name="textblock2" />
<TextBlock Name="textblock3" />
...
</StackPanel>
除此之外没有任何区别。