3 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
我認(rèn)為BrandonS想要的不是鼠標(biāo)相對于根元素的位置,而是某些后代元素的位置。
為此,有TransformToAncestor方法:
Point relativePoint = myVisual.TransformToAncestor(rootVisual)
.Transform(new Point(0, 0));
myVisual雙擊的元素在哪里,rootVisualApplication.Current.MainWindow或您想要相對的位置。

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
要獲取窗口中UI元素的絕對位置,可以使用:
Point position = desiredElement.PointToScreen(new Point(0d, 0d));
如果您位于用戶控件內(nèi),并且只希望UI元素在該控件內(nèi)的相對位置,則只需使用:
Point position = desiredElement.PointToScreen(new Point(0d, 0d)),
controlPosition = this.PointToScreen(new Point(0d, 0d));
position.X -= controlPosition.X;
position.Y -= controlPosition.Y;
添加回答
舉報(bào)