获取FrameworkElement边界矩形的坐标

aka*_*nom 5 c# silverlight wpf f# silverlight-3.0

如何获得框架元素边界矩形的左上角坐标?

    let fe : FrameworkElement = ea.Item.Content 
    let p = fe.TranslatePoint(new Point(0.0, 0.0), null)
Run Code Online (Sandbox Code Playgroud)

前面的代码给了我:未定义字段,构造函数或成员'TranslatePoint'.我很困惑,因为MSDN将此作为继承自UIElement的FrameworkElement的一部分:

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

Jul*_*ain 13

使用element.TranslatePoint(new Point(0.0, 0.0), null)得到的左上角坐标element相对于逻辑根元素.如果您希望它相对于另一个元素,请在第二个参数中指定它而不是null.然后ActualWidth,您可以使用和ActualHeight计算整个矩形.

  • 它在WPF中定义.在Silverlight中,必须使用`element.TransformToVisual(root).Transform(new Point(0.0,0.0))`. (6认同)