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