3

我有多行文本块,我想通过代码获取所有行有人可以帮助我吗?

文本块:

<TextBlock Name="tb" TextWrapping="Wrap" >
                              Name:_____________
                                <LineBreak/>
                                 Mark:____________
          </TextBlock>

在 C# 中:

text = ((TextBlock)tb).Text;

但我只得到了第一行。

谢谢!

4

3 回答 3

4

你可以试试这个:

StringBuilder s = new StringBuilder();
foreach (var line in tb.Inlines)
{
    if (line is LineBreak)
        s.AppendLine();
    else if (line is Run)
        s.Append(((Run) line).Text);
}
var text = s.ToString();

在这里找到

于 2013-04-21T16:18:40.127 回答
1

在这里,它显示了完成此操作的 3 种可能方法。请使用适合您要求的。

1.<LineBreak />
2.TextWrapping="Wrap"
3.TextTrimming="CharacterEllipsis"

这里

于 2016-06-26T19:10:23.397 回答
0

如果要在多行上显示,可以使用:

<TextBlock Name="myText" Text="I go &#x0a; Home " >

当然,您可以通过解析字符串来获取所有行。

于 2015-03-20T16:26:26.070 回答