3

我想拥有支持多种颜色的文本块的功能等价物。

我已经尝试创建一个 UserControl 并添加多个文本块并将它们的前景设置为我需要的颜色,但这真的很慢,因为我每隔几秒钟就会更改和清除文本。

我也尝试过使用 RichTextBox,但它似乎并非旨在以编程方式填充。

建议?

4

1 回答 1

7

TextBlock可以显示多个“运行” - 具有相同格式的文本块。使用Inlines属性访问它们:

using System.Windows.Documents;
using System.Windows.Media;

var inlines = textBlock.Inlines;
inlines.Add(new Run("This is red") { Foreground = Brushes.Red });
inlines.Add(new LineBreak()); // in case if you want new line
inlines.Add(new Run("And this is blue") { Foreground = Brushes.Blue });
于 2013-05-26T21:40:51.120 回答