Pues eso… que siempre me lío y no me aclaro nunca dónde tengo que poner el "dichoso" control ScrollViewer para poder hacer scroll al contenido… ahora que lo escribo tiene su lógica… es decir, si hago la pregunta: ¿dónde lo pongo para poder hacer scroll al contenido? La respuesta es: el ScrollViewer fuera, y dentro del control pondremos lo que haya que hacer scroll… si es que… :-/
Así que, ya sabes… defines el control ScrollViewer y dentro del control pones la caja de texto o lo que sea, y a eso es a lo que podrás hacer scroll (desplazamiento).
Por ejemplo, en el siguiente código XAML tenemos un ScrollViewer que está dentro de un Grid y que contiene una caja de texto (TextBlock) y al contenido de esa caja de textos es a lo que quiero poder hacer scroll. Ese TextBlock está a su vez dentro del un StackPanel, con idea de que ahí puedas meter más cosas y todas esas cosas estarán controladas por el control de scroll. En este código de ejemplo también hay un botón que estará debajo de la caja de texto.
<ScrollViewer ScrollViewer.VerticalScrollBarVisibility="Visible"> <StackPanel Margin="10" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock x:Name="txtDatos" TextWrapping="Wrap" FontSize="16" FontWeight="SemiBold" Text="El contenido del fichero" MinWidth="800" MinHeight="600" /> <Button Content="Leer un fichero" Margin="0,10,0,0" Click="Button_Click" /> </StackPanel> </ScrollViewer>
En esta captura puedes ver (por decir algo) cómo queda esto al funcionar en el emulador:
Y ya está. Esto es todo amigos…
Nos vemos.
Guillermo
…