保证金最佳做法

时间:2012-08-06 21:21:15

标签: wpf xaml layout margin

如果我有一个包含许多元素的Horizo​​ntal 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>

我只是想知道是否有关于此的最佳做法。

1 个答案:

答案 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>

除此之外没有任何区别。