Scrolling a TextBlock
Solution 1
You might like to refer to the discussion and MSFT confirmation that text control scrolling is still a work in progress as at the current CTP. Beta shouldnt be too far away, hopefully more on this then.
Solution 2
Don't put a height in the textbox. This worked perfectly for me:
<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>
Solution 3
The below code works : As your child control(ie., textblock) has a height and width that is not equal to the width and height of your scroll viewer and hence the scroll bars don't display. I have just given same height and width as the scroll viewer for the controls defined inside it it works.
<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>
Skoder
Updated on June 04, 2022Comments
-
Skoder almost 2 years
I have a TextBlock and a Textbox in the same location. Depending on what mode the user is in, I make one visible and the other collapsed. This is working fine, but how can I make the Textblock scrollable? I figured I should use a ScrollViewer, but I don't know why it's not working. I've tried messing around with the height (auto and fixed), but it won't scroll. My xaml is this:
<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>
Thanks!
-
Skoder almost 14 yearsSorry, forgot to mention, this is for Windows Phone 7. I've edited my original tags. Displaying the scrollbar doesn't work as it simply makes the textbox editable and the textblock doesn't scroll either.
-
Skoder almost 14 yearsThanks I tried the code, but it only moved slightly. I couldn't scroll smoothly all the way to the end. I guess it's a current limitation.
-
Skoder almost 14 yearsThanks, I hope they release a refresh soon because I keep having to put off aspects of my application.
-
Frank over 10 yearsGreat! I was crazy! Thanks!