2012-04-09 15 views
18

C'è un modo per impedire che lo schermo si sposti verso l'alto quando la tastiera virtuale viene visualizzata in un'app di Windows Phone?Evita lo scorrimento dello schermo quando viene visualizzata la tastiera virtuale in WP7?

Ho una casella di testo che si trova nella metà superiore dello schermo, quindi quando viene visualizzata la tastiera software, non copre la casella di testo. Tuttavia, quando la casella di testo viene toccata, lo schermo si sposta ancora verso l'alto.

Questo può essere evitato?

risposta

3

Non sono convinto che vi sia un modo semplice per modificare la posizione di scorrimento quando si apre la tastiera. Anche se mi viene in mente diverse soluzioni:

  • mettere tutto in uno ScrollViewer, quando il FocusEvent caselle di testo si chiama scorrimento allo spettatore di scorrimento per mantenere l'elemento che ti interessa in vista utilizzando ScrollToVerticalOffset()

  • usa il componente X di una trasformazione traduci per spostare la casella di testo sullo schermo. C'è un buon post sul blog dal Alex Sorokoletov.

7

ho trascorso un po 'di tempo cercando di trovare una soluzione a questo - nel mio caso ho voluto l'intestazione di pagina a rimanere alla parte superiore dello schermo invece di scorrere via quando la tastiera aperta.

Il migliore che ho trovato è stata la soluzione descritta nel post qui sotto, che utilizza le modifiche nel TranslateTransform del frame (che viene attivato dall'apertura/chiusura della tastiera) per modificare le dimensioni del margine superiore e quindi lo spazio per il contenuto disponibile .

http://sorokoletov.com/2011/08/windows-phone-70-handling-text-entry-screens/

Se si dispone di uno schermo con una serie di elementi, si può prendere in considerazione in modo esplicito cambiare il layout per ospitare il più piccolo spazio.

Problemi correlati