2009-12-17 22 views

Respuesta

60

Se puede hacer usando el método TranslatePoint del control.

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

new Point(0, 0) representa el punto superior izquierdo del control y TranslatePoint volverá la ubicación de ese punto con respecto al control de los padres (que supone en este caso que el padre es un UIElement).
Puede colocar en lugar del contenedor cualquier antecesor del control.

+1

No sabía acerca de TranslatePoint. ¡Muy útil! –

+0

'Point' tiene un constructor sin parámetros que se inicializa al igual que' new Point (0,0) 'si alguien quiere guardar los pocos caracteres. – maxp

Cuestiones relacionadas