我有一個具有橢圓的用戶控件。我已將用戶控件添加到畫布。我試試這個代碼來獲取相對於橢圓的座標帆布:無法在畫布中獲得位置
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