Je suis donc en train d'écrire un petit bot IRC pourTwitch, et je le fais avec WPF, et j'aimerais colorier uniquement le nom d'utilisateur dans la ligne de texte que j'ajoute à richTextBox. J'ai essayé avec une coloration simple au premier plan mais elle me colore à chaque fois tout.
Mon code actuel:
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();
Alors, comment pourrais-je colorier uniquement le paramètre {1} qui est e.ChatMessage.DisplayName
?
Réponses:
1 pour la réponse № 1Essayez comme ça-
TextRange tr = new TextRange(rtb.Document.ContentEnd, rtb.Document.ContentEnd);
tr.Text = e.ChatMessage.DisplayName;
tr.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
Voyez si cela aide.