Подтвердить что ты не робот

Как я могу получить положение дочернего элемента относительно родителя?

Если у a есть родитель Canvas, очень легко получить положение дочернего элемента:

Canvas.GetLeft/Top (child)

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

4b9b3361

Ответ 1

Это можно сделать с помощью метода TranslatePoint элемента управления.

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

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