/ / Coloration d’une partie du texte dans richTextBox - c #, wpf

Coloration d’une partie du texte dans richTextBox - c #, wpf

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

Essayez 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.