如何从 a 更改单词的颜色label.Content
?我的意思是,如果我有例如以下标签内容:
你好残酷的世界!
如何仅更改单词的颜色cruel
?
注意:我确实想通过代码来做到这一点,TextRange
似乎对我的问题不起作用。
如果你使用 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。