I found this question while trying to figure out how to make a TextBlock wrap, when that TextBlock is the template for each item in an ItemsControl.
My original template:
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Padding="2" x:Name="SummaryRow" Text="{Binding}" TextWrapping="Wrap" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
In order to make the text actually wrap, I had to surround the TextBlock with a Border. I'm sure other containers would have worked as well.
Why is this? (btw I should mention that the ItemsControl is in a ScrollViewer)