최대 1 분 소요

😢상황

  • WPF에서 RichTextBox를 사용하여 텍스트를 입력받았지만,
    .Text 속성이 없어 입력된 문자열을 직접 가져올 수 없는 문제 발생
  • 일반 TextBox와 달리 RichTextBoxFlowDocument 구조로 동작하기 때문

🛠️해결법

TextRange를 이용해 텍스트 추출

TextRange range = new TextRange(
    richTextBox.Document.ContentStart,
    richTextBox.Document.ContentEnd
);

string text = range.Text;

💡 TextRange는 문서의 시작과 끝 사이의 모든 텍스트를 가져옴
💡 줄바꿈, 공백 등도 포함되므로 후처리가 필요한 경우가 있음


정리: 왜 이게 효과 있었는가?

  • RichTextBoxTextBox와 달리 문서 기반 구조(FlowDocument)를 사용
  • 단순한 .Text 속성이 없기 때문에, TextRange로 시작~끝 범위를 지정해 텍스트 추출해야 함
  • 이 방식은 모든 텍스트 요소를 포함하면서도 직관적인 방법