2010-06-30 15 views
8

Tengo un TextBlock y un Textbox en la misma ubicación. Dependiendo de en qué modo se encuentre el usuario, lo hago visible y el otro colapsado. Esto funciona bien, pero ¿cómo puedo hacer que Textblock se pueda desplazar? Pensé que debería usar un ScrollViewer, pero no sé por qué no funciona. He intentado jugar con la altura (automático y fijo), pero no se desplazará. Mi xaml es este:Desplazamiento de un TextBlock

<ScrollViewer x:Name="detailsScroller" Height="285" Width="480" Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
    <Canvas x:Name="infoCanvas" Width="478" > 
    <TextBlock x:Name="textblockInfo" TextWrapping="Wrap" Width="462" Height="197" Canvas.Left="8"/> 
    <TextBox x:Name="textboxInfo" TextWrapping="Wrap" Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" /> 
    </Canvas> 
</ScrollViewer> 

¡Gracias!

Respuesta

2

Es posible que como para referirse a la discussion y MSFT confirmation que el control de desplazamiento de texto es todavía un trabajo en progreso como en la CTP actual. Beta no debería estar demasiado lejos, con suerte, más en esto entonces.

+0

Gracias, espero que publiquen una actualización pronto porque sigo teniendo que posponer aspectos de mi aplicación. – Skoder

0

Si desea que el contenido se desplace, asegúrese de que la barra de desplazamiento esté visible.

<TextBox Text="{Binding SomethingReallyLong}" 
TextWrapping="Wrap" 
VerticalScrollBarVisibility="Visible"/>   
+0

Lo sentimos, se olvidó de mencionar, esto es para Windows Phone 7. He editado mis etiquetas originales. Mostrar la barra de desplazamiento no funciona, ya que simplemente hace que el cuadro de texto se pueda editar y el bloque de texto tampoco se desplaza. – Skoder

1

El código siguiente funciona: Como su control secundario (es decir, bloque de texto) tiene un alto y ancho que no es igual al ancho y alto de su visualizador de desplazamiento y por lo tanto las barras de desplazamiento no se muestran. Acabo de dar la misma altura y ancho que el visor de desplazamiento para los controles definidos en su interior.

<ScrollViewer x:Name="detailsScroller" Height="285" Width="480" Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> 
    <Canvas x:Name="infoCanvas" Height="285" Width="480" > 
    <TextBlock x:Name="textblockInfo" TextWrapping="Wrap" Height="285" Width="480" Canvas.Left="8"/> 
    <TextBox x:Name="textboxInfo" TextWrapping="Wrap" Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" /> 
    </Canvas> 
</ScrollViewer> 
+0

Gracias, probé el código, pero solo se movió un poco. No pude desplazarme sin problemas hasta el final. Supongo que es una limitación actual. – Skoder

23

No puso una altura en el cuadro de texto. Esto funcionó perfectamente para mí:

<ScrollViewer Height="192" HorizontalAlignment="Left" Margin="12,34,0,0" Name="scrollViewer1" VerticalAlignment="Top" Width="404"> 
     <TextBlock VerticalAlignment="Top" Name="textBlock1" Text="TextBlock" Width="378" TextWrapping="Wrap" /> 
    </ScrollViewer> 
+0

¡gracias! ¡esto era exactamente lo que necesitaba! –

+0

¡Genial! ¡Yo estaba loco! ¡Gracias! – Frank