14
我正在使用RichTextBox.AppendText
函數向我的RichTextBox
添加一個字符串。我想設置一個特定的顏色。我怎樣才能做到這一點?WPF RichTextBox附加彩色文本
我正在使用RichTextBox.AppendText
函數向我的RichTextBox
添加一個字符串。我想設置一個特定的顏色。我怎樣才能做到這一點?WPF RichTextBox附加彩色文本
就試試這個:
TextRange tr = new TextRange(rtb.Document.ContentEnd, rtb.Document.ContentEnd);
tr.Text = "textToColorize";
tr.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);
如果你願意,你也可以把它的擴展方法。
public static void AppendText(this RichTextBox box, string text, string color)
{
BrushConverter bc = new BrushConverter();
TextRange tr = new TextRange(box.Document.ContentEnd, box.Document.ContentEnd);
tr.Text = text;
try
{
tr.ApplyPropertyValue(TextElement.ForegroundProperty,
bc.ConvertFromString(color));
}
catch (FormatException) { }
}
這將使所以你可以做
myRichTextBox.AppendText("My text", "CornflowerBlue");
或十六進制如
myRichTextBox.AppendText("My text", "0xffffff");
如果鍵入顏色字符串是無效的,它只是類型它在默認顏色(黑色)。 希望這有助於!
非常感謝! – Aks 2011-04-01 12:21:54