代码之家  ›  专栏  ›  技术社区  ›  Thomas Stock

wpf:当文本对于一行来说太大时,使文本块高度扩展

  •  3
  • Thomas Stock  · 技术社区  · 17 年前

    我有一个带有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的宽度相同。

    listview必须显示可能很长的消息。我试图确保当一条消息对于可用宽度来说太长时,文本块会有额外的高度,文本会显示在两行上。

    我可以用谷歌搜索很多方法来实现固定高度,但由于我事先不知道是否需要超过一行,我想确保它自动发生。 我不希望每个项目都有两行的高度,只有在需要的时候。

    我怎样才能做到这一点?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Mike Two    17 年前

    您尝试过TextWrapping属性吗?看来它会做你想做的事。