获取多行wpf文本块中的所有文本

时间:2013-04-21 16:07:15

标签: wpf

我有Multiline TextBlock,我希望按代码获取所有内容 有人能帮助我吗?

TextBlock:

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

在C#中:

text = ((TextBlock)tb).Text;

但我只得到了第一行。

谢谢!

3 个答案:

答案 0 :(得分: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();

找到它here

答案 1 :(得分:1)

这里显示了完成此操作的3种可能方法。请根据您的要求使用。

Player[] topEleven = players.stream()
                            .sorted(comparator)
                            .limit(11)
                            .toArray(Player[]::new);

here

答案 2 :(得分:0)

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

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

并且确定,您可以通过解析字符串来获取所有行。