Freigeben über


Gewusst wie: Extrahieren von Textinhalt aus einer RichTextBox

In diesem Beispiel wird gezeigt, wie Sie den Inhalt eines RichTextBox als Nur-Text extrahieren.

Beschreiben eines RichTextBox-Steuerelements

Der folgende XAML-Code (Extensible Application Markup Language) beschreibt ein benanntes RichTextBox Steuerelement mit einfachem Inhalt.

<RichTextBox Name="richTB">
  <FlowDocument>
    <Paragraph>
      <Run>Paragraph 1</Run>
    </Paragraph>
    <Paragraph>
      <Run>Paragraph 2</Run>
    </Paragraph>
    <Paragraph>
      <Run>Paragraph 3</Run>
    </Paragraph>
  </FlowDocument>
</RichTextBox>

Codebeispiel mit RichTextBox als Argument

Der folgende Code implementiert eine Methode, die ein RichTextBox als Argument verwendet, und gibt eine Zeichenfolge zurück, die den Nur-Text-Inhalt des RichTextBox darstellt.

Die Methode erstellt einen neuen TextRange aus den Inhalten des RichTextBox, wobei ContentStart und ContentEnd den Bereich des zu extrahierenden Inhalts angeben. Die Eigenschaften ContentStart und ContentEnd geben einen TextPointer zurück und sind auf dem zugrunde liegenden FlowDocument zugänglich, der den Inhalt des RichTextBox darstellt. TextRange stellt eine Text-Eigenschaft bereit, die die reinen Textteile des TextRange als Zeichenfolge zurückgibt.

string StringFromRichTextBox(RichTextBox rtb)
{
    TextRange textRange = new TextRange(
        // TextPointer to the start of content in the RichTextBox.
        rtb.Document.ContentStart,
        // TextPointer to the end of content in the RichTextBox.
        rtb.Document.ContentEnd
    );

    // The Text property on a TextRange object returns a string
    // representing the plain text content of the TextRange.
    return textRange.Text;
}
Private Function StringFromRichTextBox(ByVal rtb As RichTextBox) As String
        ' TextPointer to the start of content in the RichTextBox.
        ' TextPointer to the end of content in the RichTextBox.
    Dim textRange As New TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd)

    ' The Text property on a TextRange object returns a string
    ' representing the plain text content of the TextRange.
    Return textRange.Text
End Function

Siehe auch