Как я могу получить позицию дочернего элемента относительно родителя? - PullRequest
40 голосов
/ 17 декабря 2009

Если у вас есть родительский элемент Canvas, очень легко получить позицию ребенка:

Canvas.GetLeft/Top (child)

Но как я могу получить должность ребенка для других типов родителей?

1 Ответ

66 голосов
/ 17 декабря 2009

Это можно сделать, используя TranslatePoint метод контроля.

UIElement container = VisualTreeHelper.GetParent(control) as UIElement;
Point relativeLocation = control.TranslatePoint(new Point(0, 0), container);

new Point(0, 0) представляет верхнюю левую точку элемента управления, а TranslatePoint возвратит местоположение этой точки относительно родительского элемента управления (здесь я предположил, что родительский элемент - UIElement).
Вместо контейнер можно поместить любого предка элемента управления.

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