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