영상을 재생할때 자막의 특정 어휘만 강조하고 싶어서 구글링을 해 보았으나 마땅히 좋은 방법을 찾지 못하다가
약간의 꼼수로 원하는 결과를 얻을 수 있었다.
[XAML]
<RichTextBox Name="Subtitle"/>
[C# 코드]
string sub = "손님? 무슨 손님?";
string keyWord = "손님";
string[]text = sub.Replace(keyWord, "|").Split('|');
//RichTextBox를 비운다.
TextRange range = new TextRange(Subtitle.Document.ContentStart, Subtitle.Document.ContentEnd);
range.Text = string.Empty;
//배열을 순차적으로 조합해서 문자열을 만든다.
for (int i = 0;i < text.Length;i++)
{
TextRange rangeOfText1 = new TextRange(Subtitle.Document.ContentEnd, Subtitle.Document.ContentEnd);
rangeOfText1.Text = text[i];
rangeOfText1.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.White);
if (i < (text.Length - 1))
{
//키워드를 강조한다.
TextRange rangeOfKeyWord = new TextRange(Subtitle.Document.ContentEnd, Subtitle.Document.ContentEnd);
rangeOfKeyWord.Text = keyWord ;
rangeOfKeyWord.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Yellow);
}
}