2011-06-05 58 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自己取消或使用選擇時自己做。將選擇從段落開始到結束,並使用選擇的文本屬性,它會爲你展平。

相關問題