为什么XAML的Margin属性有四个组件而不是两个?

时间:2011-07-13 00:39:12

标签: wpf xaml

当您在WPF的XAML文件中看到Margin属性时,它有四个组件。为什么是这样?前两个组件是有意义的,它们偏离左上方的窗口,但是当我们有宽度和高度时,第三个和第四个组件是什么?

<Grid>
        <Button Content="Button" Height="27" HorizontalAlignment="Left" Margin="29,27,0,0" Name="clickButton" VerticalAlignment="Top" Width="86" Click="clickButton_Click" />
        <TextBox Height="27" HorizontalAlignment="Left" Margin="29,90,0,0" Name="textBoxOut" VerticalAlignment="Top" Width="276" />
</Grid>

3 个答案:

答案 0 :(得分:16)

保证金总是有四个组成部分:左,上,右和下。当top = bottom和left = right时,两个组件只是简写。当所有四个组件都相同时,一个组件就是速记。

Here是对边缘和垫子的很好的解释。

答案 1 :(得分:13)

元素的所有边的边距可以不同。因此,这四个要素是:

Margin="left,top,right,bottom"

请参考:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.margin.aspx

答案 2 :(得分:7)

在XAML中指定边距时,您可以指定1,2或4个参数。

如果您指定1(例如Margin="10"),则此值将应用于所有方。

如果您指定2(例如Margin="10, 20"),则第一个值将应用于左侧和右侧,而第二个值应用于顶部和底部。

如果指定4(例如Margin="10,20,30,40"),则第一个值应用于左侧,第二个值应用于顶部,第三个值应用于右侧,然后第四个值应用于底部。