Если вы знаете, как он расположен (например, в Canvas
), может быть более подходящий способ сделать что-то, но в целом вы можете использовать UIElement.TransformToVisual
для преобразования между элементом управления и глобальной системой координат:
var transform = myControl.TransformToVisual(Application.Current.RootVisual)
var offset = transform.Transform(new Point(0,0))
Прежде чем пытаться это сделать, убедитесь, что элемент управления прошел макет, если вы делаете это слишком рано, сообщения об ошибках обычно бесполезны.
(MSDN предполагает, что метод присутствует в WP7, у меня не установлен SDK для тестирования)