2012-01-05 15 views

Odpowiedz

10

Jeśli wiesz jak to jest ustawione (na przykład w Canvas) nie może być bardziej odpowiedni sposób do robienia rzeczy, ale ogólnie rzecz biorąc, można użyć UIElement.TransformToVisual do konwersji pomiędzy kontrola i globalnym układzie współrzędnych:

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

Przed próbą należy się upewnić, że układ sterowania został poddany układowi, jeśli komunikat zostanie wyświetlony zbyt wcześnie, komunikaty o błędach są zazwyczaj niepomocne.

(MSDN sugeruje, że sposób jest obecny w WP7, nie mam zainstalowanego SDK do testu)

+0

która jest poprawna dla wszystkich przypadkach próbowałem, z wyjątkiem, gdy jest wyświetlana klawiatura. Czy istnieje sposób, aby dowiedzieć się, jaka jest pozycja, gdy klawiatura wchodzi i wychodzi? – Unknown1987

+0

Nie, klawiatura jest częścią systemu operacyjnego i wygląda na to, że system operacyjny może po prostu całkowicie zmienić aplikację, aby umożliwić edycję niektórych edytowalnych elementów tekstowych. Jeśli chcesz osiągnąć coś konkretnego, musisz zadać bardziej szczegółowe pytanie. –

+2

Spójrz na [to pytanie] (http://stackoverflow.com/questions/4399153/windows-phone-7-keyboard-size), wydaje się, że nie ma dobrego rozwiązania problemu z klawiaturą. –

Powiązane problemy