:포맷을 구체적으로 선 다음 텍스트와 WPF .NET 4.0를 RichTextBox에서
애플
치즈
오렌지
배
치킨
프로그래밍 방식으로 C#을 사용하면 (X가 아닌 AML 마크 업), 문자 "C"로 시작하는 모든 행을 굵게 표시합니까?
더 일반적으로 RichTextBox에서 주어진 텍스트 줄에 대한 참조를 얻은 다음 어떻게 서식을 적용합니까?
:포맷을 구체적으로 선 다음 텍스트와 WPF .NET 4.0를 RichTextBox에서
애플
치즈
오렌지
배
치킨
프로그래밍 방식으로 C#을 사용하면 (X가 아닌 AML 마크 업), 문자 "C"로 시작하는 모든 행을 굵게 표시합니까?
더 일반적으로 RichTextBox에서 주어진 텍스트 줄에 대한 참조를 얻은 다음 어떻게 서식을 적용합니까?
그럼 내가 기대했던 것보다 까다했지만, 난 아래의 코드를 수행 생각 :
foreach (var paragraph in richTextBox1.Document.Blocks)
{
var text = new TextRange(paragraph.ContentStart,
paragraph.ContentEnd).Text;
paragraph.FontWeight = text.StartsWith("C") ?
FontWeights.Bold : FontWeights.Normal;
}
는 기본적를 RichTextBox가 차례로있다 (문서 속성을 통해 액세스)를 FlowDocument의 컨텐츠를 보유하고 각 단락을 포함하는 블록의 모음. 실제로 Blocks 컬렉션의 각 항목은 추상 클래스 Block에서 파생 될 수 있습니다. 그러나 RichTextBox에 간단한 텍스트 만 추가하면 항상 단락이됩니다. 더 자세한 설명은 here을 참조하십시오!
가장 어려운 부분은 TextRange 클래스를 사용해야하는 단락에서 텍스트를 가져 오는 것입니다.하지만 좋은 소식은 일단 텍스트가 생기면 단락에 간단한 속성이 글꼴 체중 등!