2012-01-05 10 views

Respuesta

10

Si sabe cómo está posicionada (por ejemplo, en un Canvas) puede haber una forma más adecuada de hacer las cosas, pero en general, se puede utilizar UIElement.TransformToVisual para convertir entre el control de y el sistema de coordenadas global:

var transform = myControl.TransformToVisual(Application.Current.RootVisual) 
var offset = transform.Transform(new Point(0,0)) 

Asegúrese de que el control ha sido objeto de diseño antes de tratar de hacer esto, si lo hace demasiado pronto los mensajes de error son generalmente poco útil.

(MSDN sugiere el método está presente en WP7, no tengo el SDK instalado para probar)

+0

Eso es correcto para todos los casos que he tratado, a excepción de cuando se visualiza el teclado. ¿Hay alguna manera de saber cuál es la posición cuando el teclado ingresa y sale? – Unknown1987

+0

No, el teclado es parte del sistema operativo y parece que el sistema operativo puede cambiar completamente su aplicación para hacer visible algún control de texto editable. Si quiere lograr algo específico, debería hacer una pregunta más específica. –

+2

un vistazo a [esta cuestión] (http://stackoverflow.com/questions/4399153/windows-phone-7-keyboard-size), parece que no hay una buena solución para tratar con el teclado. –

Cuestiones relacionadas