【发布时间】:2012-04-20 10:49:39
【问题描述】:
我希望Margin 属性引用UIElement 的中心,而不是左上角。这样,当我更改 UIElement 的宽度/高度时,它会保持在同一个位置。
有没有办法配置这种行为,否则我将不得不依靠 Binding 来进行调整?
谢谢。
例如,如果我更改以下矩形的Width/Height,它的中心会移动。
<Grid>
<Rectangle Fill="#FF991C1C" Width="10" Height="40" HorizontalAlignment="Left" Margin="90,161,0,0" VerticalAlignment="Top"/>
</Grid>
【问题讨论】:
-
元素的边距不是“相对于它的左上角”,它只是元素边界矩形周围框架的thickness(或四种不同的厚度)。从这个意义上说,它也不能相对于元素的中心。
-
在这种情况下,设置在 Rectangle 上的 Margin 用于将其定位在 Grid 内,对吗?而且margin的Offset是相对于Rectangle的左上角的吧?
-
这取决于网格单元内的对齐方式。如果 HorizontalAlignment 为
Right,则元素以相对于上right角的右侧边距右对齐。 -
明白了!我不知道为什么我昨天能弄明白,对我来说肯定已经太晚了。谢谢你,你的解释帮助很大!