将窗口放置在WPF控件的左上角

将窗口放置在WPF控件的左上角,wpf,coordinate-transformation,Wpf,Coordinate Transformation,我试图将窗口的左上角放置在特定WPF控件左上角的同一点上。 所以我试着像这样获取控件的屏幕坐标: PresentationSource source = PresentationSource.FromVisual(ctrl); Point posFromScreen = ctrl.PointToScreen(new Point(0, 0)); Point targetPoints = source.CompositionTarget.TransformFromDevice.Transfor

我试图将窗口的左上角放置在特定WPF控件左上角的同一点上。
所以我试着像这样获取控件的屏幕坐标:

 PresentationSource source = PresentationSource.FromVisual(ctrl);
 Point posFromScreen = ctrl.PointToScreen(new Point(0, 0));
 Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(posFromScreen);
然后我将窗口的
顶部
左侧
坐标设置为
目标点

但是我的窗口总是显示在控件的右侧,而不是在左上角与控件重叠


我做错了什么?怎么做呢?

写下来就足够了

var p = ctrl.PointToScreen(new Point());
Left = p.X;
Top = p.Y;