Получение координаты на панорамированном холсте - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть Canvas внутри UserControl, который можно перемещать вокруг.Я хочу знать, какова координата верхнего левого угла UserControl относительно верхнего левого угла холста каждый раз, когда пользователь просматривает холст, чтобы я мог обновить другой пользовательский контроль с этой информацией.

Спасибо!

1 Ответ

1 голос
/ 10 ноября 2011

Я считаю, что вы можете достичь того, что вы хотите, используя метод TransformToAncestor(...).Это даст вам преобразование, которое вы можете использовать для получения смещения.Насколько я понимаю, если вы извлекаете преобразование из Canvas в UserControl, а затем применяете это к позиции (0, 0), то вы должны получить свое смещение.

Так чтокод должен выглядеть примерно так:

GeneralTransform transform = canvas.TransformToAncestor(this);
Point offset = transform.Transform(new Point(0, 0));

Где canvas - ваш Canvas элемент управления, а this - ваш UserControl.

Дополнительные сведения см. в документации по MSDN..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...