2010-05-23 15 views
5

Как получить верхние левые координаты элемента рамки, ограничивающего прямоугольник?получить координаты прямоугольника рамки FrameworkElement

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

Предыдущий код дает мне: поле, конструктор или член «Переводчик» не определен. Я смущен, как MSDN показывает это как memeber из FrameworkElement наследуется от UIElement:

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

ответ

12

Используйте element.TranslatePoint(new Point(0.0, 0.0), null), чтобы получить верхние левые координаты element относительно логического корневого элемента. Если вы хотите его относительно другого элемента, укажите его во втором параметре вместо null. Затем вы можете использовать ActualWidth и ActualHeight для вычисления всего прямоугольника.

+0

Поле, конструктор или член «Переводчик» не определен – akaphenom

+6

Он определен в WPF. В Silverlight вы должны использовать 'element.TransformToVisual (root) .Transform (новая точка (0.0, 0.0))'. –

+0

Бинго! Вы знаете, почему это так? – akaphenom

Смежные вопросы