标签动态更改单词的颜色

时间:2013-07-15 12:40:04

标签: c# wpf

如何更改label.Content中某个单词的颜色?我的意思是,如果我有以下标签内容:

  

你好残忍的世界!

如何仅更改单词cruel的颜色?

注意:我确实希望通过代码执行此操作,TextRange似乎不适用于我的问题。

1 个答案:

答案 0 :(得分:5)

如果使用Label表示文本,则应使用TextBlock。然后你可以这样做:

TextBlock tb = new TextBlock();
tb.Inlines.Add(new Run("Hello"));
tb.Inlines.Add(new Run("cruel") { Foreground = Brushes.Tomato });
tb.Inlines.Add(new Run("world !"));

Label是一个内容容器控件,它意味着它不仅用于显示文本,还用于显示其他内容(图像,面板,文本)。如果只想显示文本,则应在WPF中使用TextBlock。如前所述,这允许您使用它。

如果仍然需要Label,请添加一个容器(例如stackpanel)并在其中添加TextBlock。