Размещение окна в верхнем левом углу элемента управления WPF

Я пытаюсь разместить окно таким образом, чтобы его верхний левый угол находился в той же точке, что и левый угол определенного элемента управления WPF.
Поэтому я попытался получить координаты экрана элемента управления следующим образом:

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

а затем я установил Top и Left координаты окна на targetPoints.
Но Мое окно всегда появляется ПРАВО от элемента управления, а не перекрывается с ним в верхнем левом углу.

Что я делаю неправильно? Как это сделать?


person Idov    schedule 07.01.2013    source источник


Ответы (1)


Достаточно написать

var p = ctrl.PointToScreen(new Point());
Left = p.X;
Top = p.Y;
person Clemens    schedule 07.01.2013