Freigeben über


Gewusst wie: Extrahieren von Textinhalt aus einer RichTextBox

In diesem Beispiel wird gezeigt, wie der Inhalt von RichTextBox als Nur-Text extrahiert wird.

Beispiel

Der folgende Extensible Application Markup Language (XAML)-Code 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>

Der folgende Code implementiert eine Methode, die RichTextBox als Argument verwendet und eine Zeichenfolge zurückgibt, die den Nur-Text-Inhalt von RichTextBox darstellt.

Die Methode erstellt einen neuen TextRange aus dem Inhalt von RichTextBox, wobei ContentStart und ContentEnd verwendet werden, um den Bereich des zu extrahierenden Inhalts anzugeben Die ContentStart-Eigenschaft und die ContentEnd-Eigenschaft geben jeweils einen TextPointer, zurück; auf sie kann über das zugrunde liegende FlowDocument zugegriffen werden, das den Inhalt von RichTextBox darstellt. TextRange stellt eine Texteigenschaft bereit, die die Nur-Text-Teile vom TextRange als eine Zeichenfolge zurückgibt.

        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
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;
}

Siehe auch

Konzepte

Übersicht über RichTextBox

Übersicht über TextBox