/ / Colorare parte del testo in richTextBox - c #, wpf

Colorare parte del testo in richTextBox - c #, wpf

Quindi sto attualmente scrivendo un piccolo bot IRC perTwitch, e lo sto facendo con WPF, e mi piacerebbe colorare solo il nome utente nella riga di testo che aggiungo a richTextBox. Ho provato con la semplice colorazione in primo piano ma mi colora ogni volta di ogni cosa.

Il mio codice attuale:

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

Quindi, come faccio a colorare solo il parametro {1} che è e.ChatMessage.DisplayName?

risposte:

1 per risposta № 1

Prova così-

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

Vedere se questo aiuta