【问题标题】:Force text length + trimming强制文本长度+修剪
【发布时间】:2013-07-09 07:44:34
【问题描述】:

我正在使用绑定来填充ListboxTextBlocks 等。

问题是:

我如何确保绑定到TextBlockText 属性的文本具有特定长度,或者以特定字符长度显示修剪(例如"some very very long t..."),以便文本不会“溢出”手机屏幕或其容器?

【问题讨论】:

  • 您是否尝试过使用FormatString 属性? (我在 winforms 中看到过,不确定它是否存在于外部,但我想是的)
  • @Sayse 嗯,这是我首先想到的事情之一,但我仍然不知道如何使用它...

标签: c# windows-phone-7 xaml binding


【解决方案1】:

棘手的一个!我强迫自己认为,如果字符超过,比如说大约 10 个,那么我将在其上附加点。所以我将这个 textchanged 事件添加到文本框中,然后将代码如下:

private void TestTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
        string temp = TestTextBox.Text;
        if (temp.Length > 10)
        {
            char[] charArray=temp.ToCharArray();
            temp = new string(charArray, 0, 10);
            temp += "...";
        }
        TestTextBox.Text = temp;
}

【讨论】:

  • 不错的尝试和一段非常有价值的代码 - 即使对于TextBoxes。
  • 你可以这样做string.Remove(10);
【解决方案2】:

由于Mango SDK,有一个属性调用TextTrimming

所以这个 xaml

<TextBlock Text="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" TextTrimming="WordEllipsis" Width="200" />

会产生类似 "aaaaaaaa....."

【讨论】:

  • 我没有在文本框那里看到这样的属性。文本框还有其他选择。但这适用于文本块。不错!
  • 是的,你没看错。我已经添加了TextTrimming 属性,尽管我缺少的是设置Width(或MaxWidth)。非常感谢,伙计! :-)
  • @max 我说的不是TextBox。我需要的是对TextBlocks 进行修剪/截断。 :-)
  • @Dr.Kameleon 正是我被弄错了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 2020-06-06
相关资源
最近更新 更多