Практическое руководство. Извлечение текстового содержимого из элемента управления RichTextBox
В этом примере показано, как извлечь содержимое RichTextBox как обычный текст.
Пример
Следующие XAML коде описывается элемент RichTextBox элемента управления с простым содержимым.
<RichTextBox Name="richTB">
<FlowDocument>
<Paragraph>
<Run>Paragraph 1</Run>
</Paragraph>
<Paragraph>
<Run>Paragraph 2</Run>
</Paragraph>
<Paragraph>
<Run>Paragraph 3</Run>
</Paragraph>
</FlowDocument>
</RichTextBox>
Пример
Следующий код реализует метод, который принимает RichTextBox как аргумент и возвращает строку, представляющую текстовое содержимое RichTextBox.
Создает новый метод TextRange из содержимого RichTextBox, с использованием ContentStart и ContentEnd чтобы обозначить диапазон содержимого для извлечения. ContentStart и ContentEnd свойства каждого возвращают TextPointerэти данные доступны в основном FlowDocument, представляющий содержимое RichTextBox. TextRange Предоставляет текстовое свойство, которое возвращает часть обычного текста TextRange как строка.
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;
}