2016-07-30 3 views
0

Так что я в настоящее время пишу небольшой IRC-бот для Twitch, и я делаю это с WPF, и я бы хотел покрасить только имя пользователя в текстовую строку, которую я добавляю в richTextBox. Я пробовал с простой окраской переднего плана, но он каждый раз меня расценивает.Окрашивающая часть текста в richTextBox

Мой текущий код:

if (e.ChatMessage.ColorHex.StartsWith("#")) 
{ 
    richTextBox.Foreground = ChatUtils.convertHexToBrush(e.ChatMessage.ColorHex); 
} 

richTextBox.AppendText(String.Format("[{0}] <{1}>: {2}", 
         DateTime.Now.ToString("HH:mm:ss"), 
         e.ChatMessage.DisplayName, e.ChatMessage.Message) + "\n"); 

richTextBox.ScrollToEnd(); 

Так как же я окрашивать только параметр {1}, который e.ChatMessage.DisplayName?

ответ

1

Попробуйте как this-

TextRange tr = new TextRange(rtb.Document.ContentEnd,­ rtb.Document.ContentEnd); 
tr.Text = e.ChatMessage.DisplayName; 
tr.ApplyPropertyValue(TextElement.­ForegroundProperty, Brushes.Red); 

Смотрите, если это помогает.

+0

Хм это лишний раз добавляет меня. – HyperX

Смежные вопросы