Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF缩放文本,使其仅在太大时才适合_C#_Wpf_Scale_Truncate - Fatal编程技术网

C# WPF缩放文本,使其仅在太大时才适合

C# WPF缩放文本,使其仅在太大时才适合,c#,wpf,scale,truncate,C#,Wpf,Scale,Truncate,我试图在WPF中设置一个项目列表,其中包含随机长度的字符串(人名)。它们中的大多数通常在一定的大小范围内,但偶尔您会遇到一个非常长的字符串,它超出了容器的边界。通常,当字符串太长时,我会将其截断,但我更愿意显示整个字符串 我如何才能强制文本保持正常大小,除非太大而无法适应…在这种情况下,请缩小文本以适应 注意:这与缩放所有文本以适应特定大小不同,这是使用文本周围的视图框来完成的 IE:这不是我想要的: <Viewbox MaxWidth="100"> <TextBloc

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

我如何才能强制文本保持正常大小,除非太大而无法适应…在这种情况下,请缩小文本以适应

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

IE:这不是我想要的:

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

这使得一切都在太小的时候放大,也在太大的时候缩小。我只希望它在太大的时候缩小,而不要在太小的时候放大


有什么想法吗?

使用
Viewbox
,但将其属性设置为
downloy

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

正是我想要的。老兄,我在谷歌上根本找不到这个,多么简单的修复啊。我想WPF的人在某个时候已经考虑过这个问题了……谢谢你重复: