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 № 1Prova 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