【发布时间】:2012-10-24 13:12:02
【问题描述】:
在Canvas 中定位元素的常见问题是“如何定位元素的中心(而不是左上角)”。
- WPF: Resizing a circle, keeping the center point instead of TopLeft?
- WPF Center Ellipse at X, Y
- WPF element positioning on a Canvas
提出了几种解决方案,但它们都有缺点。
是否有一种简单(仅限 XAML)的方法来定位画布内的元素,使其 Canvas.Left 和 Canvas.Top 对应于元素的中心,并且大小和位置属性都可以绑定到其他一些属性?
我在 WPF 中找到了一种非常简单的方法(只需设置 Margin="-1000000" Positioning an element inside the Canvas by its center (instead of the top left corner) using only XAML in WPF),但它不适用于 Silverlight/WinRT。我知道的唯一其他方法需要创建 ValueConverter 来执行 x *= -0.5 计算(这不是 XAML-only)。
【问题讨论】:
标签: silverlight xaml canvas windows-runtime centering