我正在尝试在WPF中设置一个包含随机长度字符串(人名)的项目列表。它们中的大多数通常都在一定的大小范围内,但偶尔会遇到一个字符串,以至于它超出了容器的范围。我通常只是在它太长时才截断它,但我宁愿显示整个字符串。
如何强制文本保持正常大小,除非太大而不适合...在这种情况下缩小以适应?
注意:这与缩放所有文本以适合特定大小不同,这是使用文本周围的视框完成的
IE:这不是我想要的:
<Viewbox MaxWidth="100">
<TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
这使得当太小时,一切都会扩大,而当太大时,一切都会缩小。我只希望它在太大的时候缩小,而在太小时不要扩大......
有什么想法吗?
答案 0 :(得分:23)
使用Viewbox
,但将其StretchDirection属性设置为DownOnly
。
<Viewbox MaxWidth="100" StretchDirection="DownOnly">
<TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>