我想获得一个元素相对于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
提交
取消