0

我试图以某种方式放置一个窗口,使其左上角将位于特定 WPF 控件左上角的同一点。
所以我尝试像这样获取控件的屏幕坐标:

 PresentationSource source = PresentationSource.FromVisual(ctrl);
 Point posFromScreen = ctrl.PointToScreen(new Point(0, 0));
 Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(posFromScreen);

然后我将窗口的Top和坐标设置为。 但是我的窗口总是出现在控件的右侧,而不是在左上角与他重叠。 LefttargetPoints

我究竟做错了什么?怎么做到呢?

4

1 回答 1

0

写应该够了

var p = ctrl.PointToScreen(new Point());
Left = p.X;
Top = p.Y;
于 2013-01-07T07:04:20.317 回答