Condividi tramite


Procedura: estrarre il contenuto di testo da un oggetto RichTextBox

Aggiornamento: novembre 2007

In questo esempio viene mostrato come estrarre il contenuto di un oggetto RichTextBox come testo normale.

Esempio

Nel codice Extensible Application Markup Language (XAML) riportato di seguito viene descritto un controllo RichTextBox denominato con contenuto semplice.

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

Nel codice seguente viene implementato un metodo che accetta un oggetto RichTextBox come argomento e restituisce una stringa che rappresenta il contenuto di testo normale dell'oggetto RichTextBox.

Il metodo crea un nuovo oggetto TextRange dal contenuto dell'oggetto RichTextBox, mediante le proprietà ContentStart e ContentEnd, per indicare l'intervallo del contenuto da estrarre. Le proprietà ContentStart e ContentEnd restituiscono ognuna un oggetto TextPointer e sono accessibili nell'oggetto FlowDocument sottostante che rappresenta il contenuto dell'oggetto RichTextBox. L'oggetto TextRange fornisce una proprietà Text che restituisce parti di testo normale dell'oggetto TextRange come stringa.

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

Vedere anche

Concetti

Cenni generali sul controllo RichTextBox

Cenni preliminari sulla classe TextBox