我们使用了 WPF 弹出控件。
我们需要知道如何计算 Popup 控件距离屏幕顶部的距离/高度或 Y 坐标。那么,如何计算呢?
请参阅附图以获取问题截图。
我尝试了以下两种解决方案:
第一种解决方案------------------------------------------------ --------
Window w = Application.Current.Point
relativePoint = popNonTopMostPopup.TransformToAncestor(w)
.Transform(new Point(0, 0));
问题:它总是返回与 relativePoint.X = 3.0 和 relativePoint.Y = 25.96 相同的坐标
我的弹出控件在地图图标的右侧打开,如图所示......所以当我点击不同的地图图标时,弹出位置相应地改变。所以它应该返回不同的地理坐标。
第二种解决方案------------------------------------------------ ----
Point position = popNonTopMostPopup.PointToScreen(new Point(0d, 0d)),
controlPosition = this.PointToScreen(new Point(0d, 0d));
position.X -= controlPosition.X;
position.Y -= controlPosition.Y;
问题:这个解决方案也有同样的问题..每次位置.X = 3.0 和位置.Y = 49.0 时它总是返回相同的地理坐标