Jak wyodrębnić zawartość tekstu z RichTextBox
W tym przykładzie pokazano, jak wyodrębnić zawartość elementu RichTextBox jako zwykły tekst.
Opisywanie kontrolki RichTextBox
Poniższy kod extensible Application Markup Language (XAML) opisuje nazwaną RichTextBox kontrolkę z prostą zawartością.
<RichTextBox Name="richTB">
<FlowDocument>
<Paragraph>
<Run>Paragraph 1</Run>
</Paragraph>
<Paragraph>
<Run>Paragraph 2</Run>
</Paragraph>
<Paragraph>
<Run>Paragraph 3</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
Przykład kodu z elementem RichTextBox jako argumentem
Poniższy kod implementuje metodę, która przyjmuje RichTextBox element jako argument, i zwraca ciąg reprezentujący zawartość zwykłego tekstu elementu RichTextBox.
Metoda tworzy nowy TextRange element na podstawie zawartości RichTextBoxobiektu , używając ContentStart elementu i ContentEnd , aby wskazać zakres zawartości do wyodrębnienia. ContentStart i ContentEnd właściwości, które zwracają TextPointerelement , i są dostępne w bazowym obiekcie FlowDocument, który reprezentuje zawartość obiektu RichTextBox. TextRange Element udostępnia właściwość Text, która zwraca fragmenty zwykłego TextRange tekstu jako ciąg.
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
Zobacz też
.NET Desktop feedback