在Richtextbox中更改一行的颜色

时间:2011-10-30 01:17:17

标签: c# wpf richtextbox

我想要第二行,换成另一种颜色。

我的代码如下:

 private void WindowLoaded(object sender, RoutedEventArgs e)
    {
        UpdateRTBOnDifferentThread("stackoverflow.com" + Environment.NewLine+"stackoverflow.org" + Environment.NewLine);
    }

    private void UpdateRTBOnDifferentThread(string message)
    {
        Dispatcher.Invoke(DispatcherPriority.Normal, new DispatcherOperationCallback(delegate
        {
            var newExternalParagraph = new Paragraph(new Run(message)) {Foreground = Brushes.Black};
            richTextBox1.Document.Blocks.Add(newExternalParagraph);
            return null;
        }), null);
    } 

第二行是:“stackoverflow.org”

我想在输入文字后更改颜色

1 个答案:

答案 0 :(得分:0)

您可以使用String.Split来打破UpdateRTBOnDifferentThread方法中的行,也可以让此方法接受字符串数组。然后你可以迭代数组并在同一段落中添加N个Paragraph对象或N Run对象,并分别控制每个字符串的前景。