17

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

如何强制文本保持正常大小,除非太大而无法容纳...在这种情况下将其缩小以适应?

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

IE:这不是我想要的:

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

这使得一切都在太小时按比例放大,在太大时按比例缩小。我只希望它在太大时缩小,而在太小时从不放大......

有什么想法吗?

4

1 回答 1

31

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

<Viewbox MaxWidth="100" StretchDirection="DownOnly">
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
于 2013-08-05T23:31:32.140 回答