0

WPF 应用程序由任意大小的统一网格组成。网格中的每个单元格都包含一个画布。每个画布都是拖放操作的目标。

当我将另一个画布拖放到网格内的画布上时,我希望拖动的画布(源)和目标画布的左上角对齐,基本上将源放在目标的顶部。我正在寻找的行为是对齐网格效果。

目前,当我element.GetValue(Canvas.LeftProperty)在 NaN 中使用结果时。问题是确定网格内画布的角位置,但相对于整个窗口。我更喜欢使用网格,因为它会随着窗口大小自动调整大小。

即使网格大小发生变化,是否可以获取网格内画布的实际位置,或者指定要与网格内的另一个画布对齐的画布?

4

1 回答 1

0

这个问题是通过指定画布的顶部和左侧属性将每个画布绘制到另一个画布上来解决的,我不得不刮擦网格。我通过使用指定了每个画布的位置

Canvas.SetLeft(Me, position.X)
Canvas.SetTop(Me, position.Y) 

哪里Me是画布的一个实例。

现在很容易获得每个画布的 top 和 left 属性。现在唯一的问题是我必须手动调整每个画布的大小。

于 2012-12-13T13:40:30.950 回答