【问题标题】:WPF: Auto truncating text in TextBlockWPF:自动截断 TextBlock 中的文本
【发布时间】:2010-09-19 12:01:05
【问题描述】:

我的 WPF 4.0 应用程序中有一个宽度为 600 和高度为 80 的 TextBlock。我想在运行时截断文本并在末尾附加 ...

我该如何处理?

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

    是 TextBox 还是 TextBlock?

    如果是TextBlock,则可以使用:

    在 C# 中

    myTextBlock.TextTrimming = TextTrimming.CharacterEllipsis;
    

    在 XAML 中:

    <TextBlock Name="myTextBlock" Margin="20" Background="LightGoldenrodYellow" 
      TextTrimming="WordEllipsis" 
      FontSize="14"
    >
    

    但如果它是一个文本框,那么据我所知,您可以将ValueConverter 绑定到文本框并将翻译后的文本(带点:...)返回到文本框中,但将全文保存到Tag 文本框的属性。这样你的原文就不会丢失。

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

    【讨论】:

    • 有没有办法在不设置TextBlock宽度的情况下换行?
    • 控件内的文本换行基于该控件的宽度。如果你想实现不考虑宽度的换行,那么据我所知,ValueConverter 是你可以选择的最简单的选项。
    猜你喜欢
    • 2010-11-28
    • 2012-11-18
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多