如何更改label.Content
中某个单词的颜色?我的意思是,如果我有以下标签内容:
你好残忍的世界!
如何仅更改单词cruel
的颜色?
注意:我确实希望通过代码执行此操作,TextRange
似乎不适用于我的问题。
答案 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。