WPF:如何获得变换的矩形坐标?

时间:2014-08-13 21:13:43

标签: c# wpf

有没有办法在做TranslateTransform之后检查矩形的坐标?

假设我有一个矩形

Rectangle rect = new Rectangle{ Width = 80, Height = 80};

然后我设置了那个矩形的位置

Canvas.setLeft(rect,512);

然后在将其添加到Canvas后对其进行动画处理。

var anim = new DoubleAnimation(0, 300, new Duration(TimeSpan.FromSeconds(2)));
var trans = new TranslateTransform();
rect.RenderTransform = trans;
trans.BeginAnimation(TranslateTransform.XProperty, anim);

如何获取变换矩形的新坐标?

我试过这个

Canvas.GetLeft(rect[i].getRect);

,结果仍然是512。

我想要完成的任务: 我试图在达到某个坐标后删除矩形。

1 个答案:

答案 0 :(得分:0)

也许我的问题已经解决,但我总是想知道是否还有其他办法。 :) 所以,我真的很感激另一个答案。

这就是我所做的。 Canvas.Left和TranslateTransform都可以有动画。所以对于我这个简单的问题,我不再混淆了。我没有使用翻译。 只是做:

rect.BeginAnimation(Canvas.LeftProperty,anim);

因此,我们可以在动画时捕捉rect的坐标。 只需这样做:

Canvas.GetLeft(rect);

这是我认为最简单的方法。

无论如何,多亏了克莱门斯:)