我想獲得一個元素相對于window / root元素在雙擊時的絕對位置。元素在其父元素中的相對位置是我似乎可以到達的所有位置,而我試圖到達的是相對于窗口的點。我已經看到了如何在屏幕上而不是在窗口中獲得元素點的解決方案。
3 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
我認為BrandonS想要的不是鼠標相對于根元素的位置,而是某些后代元素的位置。
為此,有TransformToAncestor方法:
Point relativePoint = myVisual.TransformToAncestor(rootVisual)
.Transform(new Point(0, 0));
myVisual雙擊的元素在哪里,rootVisualApplication.Current.MainWindow或您想要相對的位置。

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
要獲取窗口中UI元素的絕對位置,可以使用:
Point position = desiredElement.PointToScreen(new Point(0d, 0d));
如果您位于用戶控件內,并且只希望UI元素在該控件內的相對位置,則只需使用:
Point position = desiredElement.PointToScreen(new Point(0d, 0d)),
controlPosition = this.PointToScreen(new Point(0d, 0d));
position.X -= controlPosition.X;
position.Y -= controlPosition.Y;
添加回答
舉報
0/150
提交
取消