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

时间:2013-12-07 19:13:59

标签: c# windows-phone-8 textbox windows-phone

enter image description here

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

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

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());
}

<强>用法:

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

<强>结果:

“这是一个很长的......”

答案 2 :(得分:0)

当我需要一些简单的文本记录时,我使用以下代码截断字符串。可能是一个灵感。

public static string Truncate(this string yourString, int maxLength)
{
    return yourString.Substring(0, Math.Min(maxLength, yourString.Length));
}

回顾Yair Nevet的回答我发现他对这个问题的看法更加完整。您可以使用上面的代码与他的答案类似:

string yourString = "Your long text goes here".Truncate(10);