我有一个具有椭圆的用户控件。我已将用户控件添加到画布。我试试这个代码来获取相对于椭圆的坐标帆布:无法在画布中获得位置
double left = Canvas.GetLeft(ellipse);
由于椭圆形,我认为,在画布上的不是直接的成员,我得到NaN的。我已经搜查,发现是这样的:
Point relativePoint = ellipse.TransformToAncestor(canvas).Transform(new Point(0, 0));
但是后来我已经awaired的代码仅低于不提供实际坐标,给了我不同的东西。我怎样才能得到实际的坐标?
如果在DependencyObject上设置Canvas.Left,则Canvas.GetLeft可用。如果你没有设置它,你将无法得到它,这就是为什么你会得到NaN。你可以使用解决方案[这里]获得相对于画布的位置(http://stackoverflow.com/a/1923775/4049478) – nkoniishvt
你不应该这样做。使用MVVM。 – user853710