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

1

9

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>
Underarm answered 22/2, 2013 at 15:32 Comment(0)
L
25

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

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

Landed answered 22/2, 2013 at 15:45 Comment(1)
MaxHeight also should be removed if present.Katey

© 2022 - 2024 — McMap. All rights reserved.