我想拥有支持多种颜色的文本块的功能等价物。
我已经尝试创建一个 UserControl 并添加多个文本块并将它们的前景设置为我需要的颜色,但这真的很慢,因为我每隔几秒钟就会更改和清除文本。
我也尝试过使用 RichTextBox,但它似乎并非旨在以编程方式填充。
建议?
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 });