相关疑难解决方法(0)

在WPF中仅使用XAML将元素定位在"画布"中的中心(而不是左上角)

关于在a中定位元素的常见问题Canvas是"如何定位元素的中心(而不是左上角)".

提出了几种解决方案,但它们都有缺点.

最简单的解决方案是在以编程方式设置Canvas.LeftCanvas.Top属性期间适应元素大小.这有效,但只有一次.此解决方案不支持绑定,并且在元素大小更改时会中断.您也无法设置Canvas.LeftCanvas.Top使用

另一套方案涉及转换的转换利用两种RenderTransformMargin.这些解决方案需要将一些属性绑定到-0.5 * Width-0.5 * Height.这种绑定需要创建自定义ValueConverter,并且不可能仅使用XAML创建.

那么,是否有一种简单的方法可以在画布中定位元素,使其Canvas.LeftCanvas.Top元素的中心对应,并且大小和位置属性都可以绑定到其他属性?

wpf xaml canvas centering

13
推荐指数
1
解决办法
9476
查看次数

在Silverlight/WinRT中仅使用XAML将元素定位在"画布"中的中心(而不是左上角)

关于在a中定位元素的常见问题Canvas是"如何定位元素的中心(而不是左上角)".

提出了几种解决方案,但它们都有缺点.

是否有一个简单的(仅限XAML)方法将一个元素放在画布中,以便它Canvas.LeftCanvas.Top元素的中心对应,并且大小和位置属性都可以绑定到其他一些属性?

我在WPF中找到了一种非常简单的方法(仅Margin="-1000000" 使用WPF中的XAML设置在Canvas内部定位元素(而不是左上角)),但它不适用于Silverlight/WinRT .我知道的唯一其他方法需要创建ValueConverter才能执行x *= -0.5计算(不仅仅是XAML).

silverlight xaml canvas centering windows-runtime

5
推荐指数
1
解决办法
3044
查看次数

标签 统计

canvas ×2

centering ×2

xaml ×2

silverlight ×1

windows-runtime ×1

wpf ×1