Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get a WPF TextBlock to scroll where the Text property is set asynchronously?

I have a TextBlock, wrapped in a ScrollViewer, and the Text property of the TextBlock is set with the result of a Task. The scrollbars of the TextBlock do not adjust to the size of the text returned by the task.

Any ideas?

<Grid>
   <Grid.ColumnDefinitions>
      <ColumnDefinition Width="500"/>
   </Grid.ColumnDefinitions>

   <ScrollViewer VerticalScrollBarVisibility="Auto" 
                 Height="177" 
                 Width="500" 
                 HorizontalScrollBarVisibility="Disabled">
      <TextBlock Height="177" 
                Text="Extracted Xml" 
                Width="504" 
                HorizontalAlignment="Stretch" 
                TextWrapping="Wrap" />
   </ScrollViewer>
</Grid>
like image 550
MalcomTucker Avatar asked Feb 22 '13 15:02

MalcomTucker


1 Answers

ScrollViewer calculates it's scrollbars based on dimensions of child controls.

Thus, remove Height property from your TextBlock and ScrollBars should work as expected

like image 197
Nogard Avatar answered Oct 22 '22 14:10

Nogard