我希望子元素之间的空格,例如,StackPanel是相同的。当对子元素使用相同的边距时,邻居之间的差距加倍。我正在用一个小技巧来解决这个问题,但在我看来有更优雅的解决方案。可能你有一个吗?
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="MyButtonStyle" TargetType="Button">
<Setter Property="Margin" Value="4,4,0,4" />
...
</Style>
<Style x:Key="LastMyButtonStyle" TargetType="Button" BasedOn="{StaticResource MyButton}">
<Setter Property="Margin" Value="4" />
</Style>
我正在使用MyButtonStyle用于除最后一个按钮之外的所有按钮,它们使用LastMyButtonStyle。
答案 0 :(得分:1)
将StackPanel放入另一个容器,即Border,并将其Margin设置为与Buttons相同的值:
<Border>
<StackPanel Orientation="Horizontal" Margin="2">
<Button Margin="2" Content="Button 1"/>
<Button Margin="2" Content="Button 2"/>
<Button Margin="2" Content="Button 3"/>
</StackPanel>
</Border>