WPF:自动截断TextBlock中的文本

Moo*_*oon 25 .net c# wpf

我的WPF 4.0应用程序中有一个宽度为600和高度为80的TextBlock.我想截断文本,并追加......到了最后,在运行时.

我怎么处理它?

Siv*_*pal 51

它是TextBox还是TextBlock?

如果是TextBlock,那么你可以使用:

在C#中:

myTextBlock.TextTrimming = TextTrimming.CharacterEllipsis;
Run Code Online (Sandbox Code Playgroud)

要么

在XAML中:

<TextBlock Name="myTextBlock" Margin="20" Background="LightGoldenrodYellow" 
  TextTrimming="WordEllipsis" 
  FontSize="14"
>
Run Code Online (Sandbox Code Playgroud)

但是如果它是TextBox,那么根据我的知识,你可以将a绑定ValueConverter到文本框并将已转换的文本(带点:...)返回到文本框中,但将全文保存到文本框的Tag属性中.这样您的原始文本就不会丢失.

但是,据我所知,在有特定要求之前,在文本框上应用文本修剪并不是一个好习惯.