【问题标题】:how do i change the color for some part of the labels content如何更改标签内容某些部分的颜色
【发布时间】:2016-04-10 11:05:25
【问题描述】:

有没有办法在 C# 中更改部分标签内容?

我知道你可以在 xaml 中做到这一点,但这只是为了手动输入文本

我想要

Resultatfor_nu_Copy.Content = oprofilbox.Text(green) + "/(yellow)" +  obredebox.Text(green) + "-(yellow)" + oFælgestr.Text(green);

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    创建多个Run 实例,每个实例都有自己的颜色,并将它们添加到TextBlockInlines 集合中。

    var textBlock = new TextBlock();
    textBlock.Inlines.Add(new Run("Green") { Foreground = Brushes.Green });
    textBlock.Inlines.Add(new Run("Yellow") { Foreground = Brushes.Yellow });
    myLabel.Content = textBlock;
    

    (如果您对TextBlock 需要存在的原因感到好奇,this answer 可能会让您感兴趣。)

    【讨论】:

    • nvm 我发现我必须为此做颜色转换器,而这正是我一直在寻找的东西
    • 要使用自定义颜色,您必须创建自己的 SolidColorBrush 实例(而不是使用 Brushes 类中现成的实例之一)。