Windows Phone 7 TextBox multiline
In Windows Phone 7 non è così semplice creare una TextBox che possa contenere il testo che vada oltre l'altezza del controllo. In pratica non si ottinene uno scorrimento automatico verso l'altro del testo già inserito.
Cercando in rete ho trovato la soluzione al problema:
Inserisci la TextBox in un controllo ScrollViewer. Successivamente imposta le proprietà, della TextBox, TextWrapping, che permette al testo di andare su più righe e AcceptsReturn che permette di andare a capo su una nuova linea.
Penso a causa di un bug questo non è sufficiente, per avere una gestione corretta dello scrolling bisogna aggiungere un pezzo di codice, va gestiro l'evento TextInputStart:
Cercando in rete ho trovato la soluzione al problema:
XML
<ScrollViewer x:Name="scvDescription" Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled" >
<TextBox x:Name="tbxDescription" FontSize="{StaticResource PhoneFontSizeMedium}" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled"
TextWrapping="Wrap"
AcceptsReturn="True"
TextInputStart="tbxDescription_TextInputStart" />
</ScrollViewer>
Penso a causa di un bug questo non è sufficiente, per avere una gestione corretta dello scrolling bisogna aggiungere un pezzo di codice, va gestiro l'evento TextInputStart:
C#
private void tbxDescription_TextInputStart(object sender, TextCompositionEventArgs e)
{
//per correggere il problema di scrolling della textbox
TextBox tbx = (TextBox)sender;
this.scvDescription.UpdateLayout();
this.scvDescription.ScrollToVerticalOffset(tbx.ActualHeight);
}