Procedimiento Extraer el contenido de texto de un control RichTextBoxHow to: Extract the Text Content from a RichTextBox

En este ejemplo se muestra cómo extraer el contenido de un RichTextBox como texto sin formato.This example shows how to extract the contents of a RichTextBox as plain text.

EjemploExample

La siguiente Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML) código describe una con nombre RichTextBox control con contenido simple.The following Lenguaje XAML (Extensible Application Markup Language)Extensible Application Markup Language (XAML) code describes a named RichTextBox control with simple content.

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

EjemploExample

El código siguiente implementa un método que toma un RichTextBox como un argumento y devuelve una cadena que representa el contenido de texto sin formato de la RichTextBox.The following code implements a method that takes a RichTextBox as an argument, and returns a string representing the plain text contents of the RichTextBox.

El método crea un nuevo TextRange desde el contenido de la RichTextBox, usando la ContentStart y ContentEnd para indicar el intervalo del contenido para extraer.The method creates a new TextRange from the contents of the RichTextBox, using the ContentStart and ContentEnd to indicate the range of the contents to extract. ContentStart y ContentEnd devuelven propiedades de cada una TextPointery son accesibles en FlowDocument subyacente que representa el contenido de la RichTextBox.ContentStart and ContentEnd properties each return a TextPointer, and are accessible on the underlying FlowDocument that represents the contents of the RichTextBox. TextRange Proporciona una propiedad de texto, que devuelve las partes de texto sin formato de la TextRange como una cadena.TextRange provides a Text property, which returns the plain text portions of the TextRange as a string.

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

Vea tambiénSee also