2016-07-30 11 views
0

Also schreibe ich gerade einen kleinen IRC-Bot für Twitch, und ich mache es mit WPF, und ich möchte nur den Benutzernamen in der Textzeile färben, die ich zu richTextBox hinzufüge. Ich habe versucht mit einfachen Vordergrundfarben aber es färbt mich jedesmal alles.Einfärben von Text in richTextBox

Mein aktueller Code:

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(); 

So, wie ich nur die Parameter Farbe würde {1} was ist e.ChatMessage.DisplayName?

Antwort

1

Versuchen Sie, wie this-

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

sehen, ob das hilft.

+0

Hmm das fügt mir Displayname noch einmal hinzu – HyperX