방법: RichTextBox에서 텍스트 콘텐츠 추출
업데이트: 2007년 11월
이 예제에서는 RichTextBox의 콘텐츠를 일반 텍스트로 추출하는 방법을 보여 줍니다.
예제
다음 XAML(Extensible Application Markup Language) 코드에서는 간단한 콘텐츠가 있는 이름이 지정된 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의 일반 텍스트 콘텐츠를 나타내는 문자열을 반환하는 메서드를 구현합니다.
이 메서드는 ContentStart와 ContentEnd로 추출할 콘텐츠의 범위를 지정하여 RichTextBox의 콘텐츠에서 새 TextRange를 만듭니다. ContentStart와 ContentEnd 속성은 각각 TextPointer를 반환하며 RichTextBox의 콘텐츠를 나타내는 기본 FlowDocument에서 액세스할 수 있습니다. TextRange는 TextRange의 일반 텍스트 부분을 문자열로 반환하는 Text 속성을 제공합니다.
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;
}