在WPF(Windows Presentation Foundation)中,要获取窗口中元素的绝对位置,可以使用以下方法:
PointToScreen
方法将元素的坐标转换为屏幕坐标。Point absolutePosition = element.PointToScreen(new Point(0, 0));
TranslatePoint
方法将元素的坐标转换为其他元素的坐标。Point relativePosition = element.TranslatePoint(new Point(0, 0), relativeToElement);
其中,element
是要获取位置的元素,relativeToElement
是相对于哪个元素的位置。
需要注意的是,以上方法只能获取到元素在其所在窗口中的位置,如果需要获取到整个屏幕的位置,需要将窗口的位置也考虑进去。可以使用以下代码获取窗口的位置:
Point windowPosition = new Point(window.Left, window.Top);
综上所述,完整的代码如下:
Point absolutePosition = element.PointToScreen(new Point(0, 0));
Window window = Window.GetWindow(element);
Point windowPosition = new Point(window.Left, window.Top);
Point finalPosition = new Point(absolutePosition.X - windowPosition.X, absolutePosition.Y - windowPosition.Y);
在上述代码中,finalPosition
就是元素在窗口中的绝对位置。
领取专属 10元无门槛券
手把手带您无忧上云