WPF缩放文本仅适用于太大的情况

Rob*_*etz 15 c# wpf truncate scale

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

如何强制文本保持正常大小,除非太大而不适合...在这种情况下缩小以适应?

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

IE:这不是我想要的:

<Viewbox MaxWidth="100">
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
Run Code Online (Sandbox Code Playgroud)

这使得当太小时,一切都会扩大,而当太大时,一切都会缩小.我只希望它在太大的时候缩小,当它太小时永远不会扩大......

有什么想法吗?

key*_*rdP 27

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

<Viewbox MaxWidth="100" StretchDirection="DownOnly">
    <TextBlock Text="{Binding EmployeeDisplayName, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" VerticalAlignment="Center"/>
</Viewbox>
Run Code Online (Sandbox Code Playgroud)

  • 正是我正在寻找的东西。伙计,我根本无法从谷歌找到这个,多么简单的修复哈哈。我想 WPF 的人在某个时候已经考虑过这个问题......谢谢 (2认同)