2013-04-21 54 views
4

所有文字我多行的TextBlock,我想它的所有的代码 线有人能帮助我吗?获取多WPF文本块

TextBlock的:

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

在C#:

text = ((TextBlock)tb).Text; 

但我只拿到了第一道防线。

谢谢!

回答

5

你可以试试这个:

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

它的工作!谢谢! – mich 2013-04-21 16:25:23

1

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

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

和肯定,你可以得到所有行通过解析字符串。

0

这表明能完成这一操作的3分可能的方式。请使用适合您的要求。

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

here