如何计算 UIElement 的边距

How is the margin of a UIElement calculated

下面的xml

<Image Width="30px" Height="30px" Margin="1 1 1 1" />

边距为 1 1 1 1 但图像位于屏幕中央 (668 369 668 369)。为什么会这样?上面的margin不是无效的吗?另外,对于任何东西的位置,你只需要 margin left 和 margin top。这就是 winforms 的工作方式,对吧?我不明白为什么 Thickness 构造函数需要 4 个值。

A Thickness for a Margin 是距元素每个边缘的像素数。这些是 .

这是一个例子:

Margin="10,15,5,0"

上面的代码定义了边距:

  • 距左侧 10 个像素。
  • 距顶部 15 个像素。
  • 从右边算起 5 个像素。
  • 距底部 0 个像素。

边距始终定义为左、上、右、下。不过也有一些捷径。

例如:

Margin="10,15"

此处的边距定义为:

  • 左侧 10 个像素,右侧
  • 15 个像素位于顶部 底部。

还有:

Margin="15"

此边距在所有边上都是 15 像素

为了更直接地回答您的问题,您只是缺少 逗号