WPF ScrollView 和 TextBlock

WPF ScrollView and TextBlock

我做错了什么?

以下代码有效:

<ScrollViewer x:Name="scrollChatMessages">
    <TextBlock x:Name="txtChatMessages" TextWrapping="Wrap"/>
</ScrollViewer>

但是,一旦我与设计人员一起修改它,使它看起来更整洁并且不会占据整个 Grid,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>

有人可以向我解释一下这种行为吗?

提前致谢!

我把它放在一个网格里解决了。

<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>

没有好的 Minimal, Complete, and Verifiable code example 是不可能肯定的。但是您可以看到设计器为这两个元素添加了一堆新的 属性 值。特别是,ScrollViewerTextBlock 已设置为具有完全相同的宽度和高度。

自然地,由于包含的元素具有完全适合 ScrollViewer 的正确尺寸,因此无需滚动即可查看所有元素。您需要从 TextBlock.

中删除 WidthHeight 属性 值