c# - WPF 缩放文本以仅在太大时适合

标签 c# wpf scale truncate

我正在尝试在 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/

相关文章:

c# - 从 C++ 应用程序调用 C# .NET 服务?

用于数据库循环轮询的 C# 定时器

.net - WPF - MVVM - 文本框与 View 模型属性不同步

javascript - 尝试在 Firefox 中将 div 设置为自动

r - ggplot 中的颜色编码和图例标签

c# - 将数据列添加到数据表

c# - 将打印命令发送到不是 C# 中默认打印机的打印机

c# - 区分大小写的字符串比较

.net - 如何编译着色器 fx 文件以在 WPF 中使用?

Android:使用背景图像缩放按钮