保证金中的属性顺序

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

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

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

对吗?

160108 次浏览
Margin="1,2,3,4"
  1. 离开了,
  2. 上面,
  3. 对的,

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

Margin="1,2"
  1. 左右
  2. 顶部和底部

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

Margin="1"
  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"
  • 两个数字,例如Margin="a,b"
  • 1号,例如Margin="a"

4个数字

如果有4个数字,则其lefttoprightbottom(从左中间开始的顺时针圆)。第一个数字总是“西部”;像“WPF":

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

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

enter image description here

两个数字

如果有两个数字,那么第一个是左&右页边厚度,其次是顶部&底边厚度。第一个数字总是“西部”;像“WPF":

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

例子:如果我们使用Margin="10,30",左边&右距均为10,顶部&底部都是30。

enter image description here

1号

如果有1号,则该数字是重复的(本质上是边界厚度)。

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

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

enter image description here

更新2020-05-27

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


规则:

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

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

顺时针方向:

  • WPF start < em > West (left->top->right->bottom)
  • Netscape (ie CSS) start < em > North (top->右->底->左)