WPF:当文本超过一行时,如何使TextBlock的高度自动扩展

3

我有一个带有itemtemplate的listview:

<ListView x:Name="messages" HorizontalAlignment="Left" 
    Background="{x:Null}" BorderBrush="{x:Null}" Foreground="Black">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextBlock Style="{DynamicResource h3}" Text="{Binding}"
                Margin="10" MaxWidth="850"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

这个listview在一个垂直的stackpanel中。因此它的宽度与stackpanel的宽度相同。

listview必须显示可能非常长的消息。我正在尝试确保当一条消息过长而无法适应可用宽度时,文本块会得到额外的高度并且文本会显示在两行上。

我可以通过固定高度来找到很多实现方法,但由于我事先不知道是否需要超过1行,所以我希望它能自动完成。 我不想每个项目都有2行高度,只有在需要时才需要。

如何实现这一点?

1个回答

3

您尝试过TextWrapping属性吗?它似乎可以实现您想要的效果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接