2016-07-30 555 views
0

所以我目前正在为Twitch编写一个小型IRC机器人,并且我正在用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

尝试像这个 -

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

看看这会有所帮助。

+0

嗯,这是再次添加我的显示名称 – HyperX