Automatic Vertical Scroll Bar In WPF TextBlock?


Answer :

Wrap it in a scroll viewer:

<ScrollViewer>     <TextBlock /> </ScrollViewer> 

NOTE this answer applies to a TextBlock (a read-only text element) as asked for in the original question.

If you want to show scroll bars in a TextBox (an editable text element) then use the ScrollViewer attached properties:

<TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled"          ScrollViewer.VerticalScrollBarVisibility="Auto" /> 

Valid values for these two properties are Disabled, Auto, Hidden and Visible.


can use the following now:

<TextBox Name="myTextBox"           ScrollViewer.HorizontalScrollBarVisibility="Auto"          ScrollViewer.VerticalScrollBarVisibility="Auto"          ScrollViewer.CanContentScroll="True">SOME TEXT </TextBox> 

Something better would be:

<Grid Width="Your-specified-value" >     <ScrollViewer>          <TextBlock Width="Auto" TextWrapping="Wrap" />     </ScrollViewer> </Grid> 

This makes sure that the text in your textblock does not overflow and overlap the elements below the textblock as may be the case if you do not use the grid. That happened to me when I tried other solutions even though the textblock was already in a grid with other elements. Keep in mind that the width of the textblock should be Auto and you should specify the desired with in the Grid element. I did this in my code and it works beautifully. HTH.


Comments

Popular posts from this blog

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Can Feynman Diagrams Be Used To Represent Any Perturbation Theory?