0

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

你好残酷的世界!

如何仅更改单词的颜色cruel

注意:我确实想通过代码来做到这一点,TextRange似乎对我的问题不起作用。

4

1 回答 1

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。如前所述,这允许您使用它。

如果仍然需要标签,请添加一个容器(例如堆栈面板)并在其中添加一个 TextBlock。

于 2013-07-15T12:46:33.773 回答