所以我目前正在为Twitch编写一个小型IRC机器人,我正在使用WPF,我想在我添加到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
?
答案 0 :(得分:1)
试试这个 -
TextRange tr = new TextRange(rtb.Document.ContentEnd, rtb.Document.ContentEnd);
tr.Text = e.ChatMessage.DisplayName;
tr.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
看看这是否有帮助。