Если родителя Холста, очень легко получить положение ребенка:
Canvas.GetLeft/Top (child)
Но как я могу получить положение ребенка для других типов родителей?
Это можно сделать с помощью метода TranslatePoint
элемента управления.
UIElement container = VisualTreeHelper.GetParent(control) as UIElement;
Point relativeLocation = control.TranslatePoint(new Point(0, 0), container);
new Point (0, 0)
представляет верхнюю левую точку элемента управления, а TranslatePoint
будет вернуть расположение этой точки относительно родительского элемента управления (я предположил, что здесь родительский элемент - это UIElement
).
Вы можете разместить вместо контейнера любого предка элемента управления.