基于部分字母位置的文本块的前景色

时间:2016-02-28 11:39:28

标签: wpf xaml colors textblock

工作中的火星酒吧挑战是仅使用Xaml,默认情况下将文本块的以下文本设置为灰色。但是,从信件的一半开始,#34; e"并且到最后一个角色的一半" 1"使颜色变红。

文字是"项目1"。所以,"我"和" t"灰色,但上半年" e"红色,所有" m"红色,然后是" 1"红色和#34; 1"灰色。

我不知道这个。

1 个答案:

答案 0 :(得分:0)

你在考虑这样的事情吗?

<TextBlock FontSize="72">
    <Run Foreground="Gray" Text="It" /><Run Text="e">
        <Run.Foreground>
            <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                <GradientStop Color="Gray" Offset="0"/>
                <GradientStop Color="Gray" Offset="0.5" />
                <GradientStop Color="Red" Offset="0.5" />
                <GradientStop Color="Red" Offset="1" />
            </LinearGradientBrush>
        </Run.Foreground>
    </Run><Run Text="m" Foreground="Red" /><Run Text=" 1">
        <Run.Foreground>
            <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
                <GradientStop Color="Red" Offset="0"/>
                <GradientStop Color="Red" Offset="0.5" />
                <GradientStop Color="Gray" Offset="0.5" />
                <GradientStop Color="Gray" Offset="1" />
            </LinearGradientBrush>
        </Run.Foreground>
    </Run>
</TextBlock>

结果:

result