2011-06-05 61 views
2
<RichTextBox HorizontalAlignment="Left" Margin="21,92,0,0" Name="richTextBox1" VerticalAlignment="Top" Height="259" Width="357" > 
      <Paragraph>hello kitty!</Paragraph> 
      <Paragraph>hello world!</Paragraph> 
      <Paragraph>hello fb!</Paragraph> 
     </RichTextBox> 


    BlockCollection bc = richTextBox1.Blocks; 
      foreach (var b in bc) 
      { 

      } 

段落在集合中,b是段落类型,但我不知道如何从中读取值。没有任何文本属性或innerHTML属性。如何以编程方式从richtexteditor读取段落值?

回答

1

您可以使用这样的代码从段落中获取值。

foreach (var paragraph in richTextBox1.Blocks.OfType<Paragraph>()) 
{ 
    foreach (var run in paragraph.Inlines.OfType<Run>()) 
    { 
     var text = run.Text; 
    } 
} 
1

该段落不直接包含文本,而是包含内联集合:运行,跨度,超链接等。例子中的段落包含单个运行。要从段落中获得文本,您需要首先“扁平”它。有两种方法可以做到这一点:当Alex自己取消或使用选择时自己做。将选择从段落开始到结束,并使用选择的文本属性,它会为你展平。

相关问题