WPF ScrollView and TextBlock
本文关键字:TextBlock and ScrollView WPF | 更新日期: 2023-09-27 18:05:50
我做错了什么?
下面的代码可以工作:
<ScrollViewer x:Name="scrollChatMessages">
<TextBlock x:Name="txtChatMessages" TextWrapping="Wrap"/>
</ScrollViewer>
但是,当我用设计器对它进行润色,使它看起来更整洁,不会占据整个网格时,ScrollView就不再滚动Scrollblock的内容了:
<ScrollViewer x:Name="scrollChatMessages" HorizontalAlignment="Left" Height="181" Margin="95,10,0,0" VerticalAlignment="Top" Width="300">
<TextBlock x:Name="txtChatMessages" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Height="181" Width="300"/>
</ScrollViewer>
有人能给我解释一下这种行为吗?提前感谢!
如果没有一个好的最小化、完整和可验证的代码示例,就不可能肯定地说。但是您可以看到,Designer为这两个元素添加了一些新的属性值。特别是,ScrollViewer
和TextBlock
被设置为具有相同的宽度和高度。
当然,包含的元素具有完全正确的尺寸,以适应ScrollViewer
,没有必要滚动看到所有的。您需要从TextBlock
中删除Width
和Height
属性值。
我把它放在一个网格中解决了这个问题。
<Grid x:Name="gridChatMessages" HorizontalAlignment="Left" Height="181" Margin="95,10,0,0" VerticalAlignment="Top" Width="300">
<ScrollViewer x:Name="scrollChatMessages">
<TextBlock x:Name="txtChatMessages" TextWrapping="Wrap"/>
</ScrollViewer>
</Grid>