2010-05-23 30 views
5

¿Cómo se obtienen las coordenadas superiores izquierdas de un rectángulo delimitador de elementos del marco?obtener las coordenadas de un rectángulo delimitador de FrameworkElement

let fe : FrameworkElement = ea.Item.Content 
    let p = fe.TranslatePoint(new Point(0.0, 0.0), null) 

El código anterior me da: El campo, constructor o miembro 'TranslatePoint' no está definido. Estoy confundido como MSDN muestra esto como una memeber de FrameworkElement hereda de UIElement:

http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement_members(v=VS.100).aspx

Respuesta

12

Uso element.TranslatePoint(new Point(0.0, 0.0), null) para obtener las coordenadas superior izquierda de element con respecto al elemento raíz lógica. Si lo desea en relación con otro elemento, especifíquelo en el segundo parámetro en lugar de null. A continuación, puede usar ActualWidth y ActualHeight para calcular el rectángulo completo.

+0

El campo, constructor o miembro 'TranslatePoint' no está definido – akaphenom

+6

Se define en WPF. En Silverlight, debe usar 'element.TransformToVisual (root) .Transform (new Point (0.0, 0.0))'. –

+0

¡Bingo! ¿Sabes por qué es eso? – akaphenom

Cuestiones relacionadas