如果我在XAML中有这样的字符串:

Storyboard.TargetProperty="Margin" From="1,2,3,4" To="0,0,0,0"

什么是上、下、右、左? 1 -对吧 2 -高级 3 -左 4 -底部

对吗?


当前回答

只是因为@MartinCapodici的评论太棒了,我在这里写了一个答案,让大家看到。

顺时针方向:

WPF开始西部(左->上->右->下) Netscape(即CSS)开始北(上->右->下->左)

其他回答

只是因为@MartinCapodici的评论太棒了,我在这里写了一个答案,让大家看到。

顺时针方向:

WPF开始西部(左->上->右->下) Netscape(即CSS)开始北(上->右->下->左)

Margin="1,2,3,4"

离开了, 上面, 对的, 底

也可以像这样只指定两个大小:

Margin="1,2"

左右 顶部和底部

最后,您可以指定单个大小:

Margin="1"

适用于各方面

顺序与WinForms中相同。

<object Margin="left,top,right,bottom"/>
- or - 
<object Margin="left,top"/>
- or - 
<object Margin="thicknessReference"/>

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

有三种独特的情况:

4个数字,例如Margin="a,b,c,d"。 2个数字,例如Margin="a,b"。 1个数字,例如Margin="a"。

4个数字

如果有4个数字,那么它的左、上、右、下(从左中间开始的顺时针圆)。第一个数字总是“West”,比如“WPF”:

<object Margin="left,top,right,bottom"/>

例如:如果我们使用Margin="10,20,30,40",它会生成:

两个数字

如果有2个数字,那么第一个是左右边距厚度,第二个是上下边距厚度。第一个数字总是“West”,比如“WPF”:

<object Margin="a,b"/> // Equivalent to Margin="a,b,a,b".

例如:如果我们使用Margin="10,30",那么左右边距都是10,上下边距都是30。

1号

如果有一个数字,那么这个数字是重复的(本质上是一个边界厚度)。

<object Margin="a"/> // Equivalent to Margin="a,a,a,a".

示例:如果我们使用Margin="20",它会生成:

更新2020-05-27

在过去的5年里,我一直致力于一个大型的WPF应用程序,有超过100个屏幕。作为5个WPF/ c# /Java开发团队的一员。我们最终决定使用1个数字(用于边框厚度)或4个数字。我们从不使用2。这是一致的,似乎是在开发时减少认知负荷的好方法。


规则:

所有宽度数字从左边开始(“West”像“WPF”),顺时针(如果有两个数字,只顺时针走两次,然后镜像其余部分)。