左上隅が特定のWPFコントロールの左隅と同じポイントになるようにウィンドウを配置しようとしています。
そこで、コントロールの画面座標を次のように取得してみました。
PresentationSource source = PresentationSource.FromVisual(ctrl);
Point posFromScreen = ctrl.PointToScreen(new Point(0, 0));
Point targetPoints = source.CompositionTarget.TransformFromDevice.Transform(posFromScreen);
次に、ウィンドウの座標Top
と座標をに設定します。
しかし、私のウィンドウは、左上隅で彼と重なるのではなく、常にコントロールの右側に表示されます。 Left
targetPoints
私は何が間違っているのですか?どのようにそれを行うことができますか?