我正在尝试在 WPF 中设置一个项目列表,其中包含随机长度的字符串(人名)。它们中的大多数通常都在一定的大小之内,但偶尔您会遇到一个太长的字符串,以至于它超出了容器的范围。我通常会在它太长时将其截断,但我更愿意显示整个字符串。
我如何强制文本保持其正常大小,除非太大而不适合...在这种情况下将其缩小以适合?
注意:这与缩放所有文本以适应特定大小不同,后者是使用文本周围的 View 框实现的
IE:这不是我想要的:
<Viewbox MaxWidth="100">
<TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
这使得一切都在太小的时候放大,以及在太大的时候缩小。我只希望它在太大时缩小,而在太小时从不放大...
有什么想法吗?
最佳答案
使用Viewbox
但设置它的StretchDirection属性为 DownOnly
。
<Viewbox MaxWidth="100" StretchDirection="DownOnly">
<TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
关于c# - WPF 缩放文本以仅在太大时适合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18069456/