If you know how it's positioned (eg in a Canvas
) there may be a more appropriate way to do things, but in general, you can use UIElement.TransformToVisual
to convert between the control's and the global coordinate system:
var transform = myControl.TransformToVisual(Application.Current.RootVisual)
var offset = transform.Transform(new Point(0,0))
Be sure that the control has undergone layout before trying to do this, if you do it too early the error messages are generally unhelpful.
(MSDN suggests the method is present in WP7, I don't have the SDK installed to test)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…