如何在文本区域的文本末尾显示省略号(...)?

Bel*_*nem 1 c# textbox windows-phone windows-phone-8

在此输入图像描述

如果没有空间在WP8中使用C#显示保留的文本或句子,我如何在文本框中的文本末尾添加省略号(...)?

Yai*_*vet 5

给定所需的文本字符串和文本框的最大字符长度,使用此扩展方法来解决它:

public static string TruncateAtWord(this string input, int length)
{
    if (input == null || input.Length < length)
        return input;

    int iNextSpace = input.LastIndexOf(" ", length);

    return string.Format("{0}...", input.Substring(0, (iNextSpace > 0) ? iNextSpace : length).Trim());
}
Run Code Online (Sandbox Code Playgroud)

用法:

var ellipsisedString = "this is a very long string and I want to cut it with ellipsis!".TruncateAtWord(25);
Run Code Online (Sandbox Code Playgroud)

结果:

“这是一个很长的……”


Dav*_*don 5

作为其他两种解决方案的替代方案,您可以在XAML中使用TextTrimming ="WordEllipsis",它只取决于您是要将字符串限制为特定数量的字符还是根据文本框大小进行修剪.