WPF缩放文本以仅在过大时适合

本文关键字:缩放 文本 WPF | 更新日期: 2023-09-27 18:26:28

我正试图在WPF中设置一个项目列表,其中包含随机长度的字符串(人名)。它们中的大多数通常都在一定的大小内,但偶尔你会遇到一个字符串太长,以至于它超出了容器的边界。我通常只是在它太长时截断它,但我更愿意显示整个字符串。

我如何才能强制文本保持正常大小,除非太大而无法容纳。。。在哪种情况下按比例缩小?

注意:这与缩放所有文本以适应特定大小不同,这是使用文本周围的视图框来完成的

IE:这不是我想要的:

<Viewbox MaxWidth="100">
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>

这使得一切在太小的时候都会放大,在太大的时候也会缩小。我只希望它在太大的时候缩小,而在太小的时候永远不要放大。。。

有什么想法吗?

WPF缩放文本以仅在过大时适合

使用Viewbox,但将其StretchDirection属性设置为DownOnly

<Viewbox MaxWidth="100" StretchDirection="DownOnly">
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>