基于部分字母位置的文本块前景色
Foreground colour of textblock based on position of part of the letter
工作中的火星栏挑战是仅使用 Xaml,默认情况下将文本块的以下文本设为灰色。但是,从字母 "e" 的一半到最后一个字符“1”的一半使颜色变为红色。
正文为"Item 1"。所以,"I" 和 "t" 都是灰色的,但是 "e" 的前半部分是红色,"m" 全部是红色,然后是“1”的一半红色和“的后半部分” 1" 灰色。
我不知道这个。
你有没有想过这样的事情?
<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>
结果:
工作中的火星栏挑战是仅使用 Xaml,默认情况下将文本块的以下文本设为灰色。但是,从字母 "e" 的一半到最后一个字符“1”的一半使颜色变为红色。
正文为"Item 1"。所以,"I" 和 "t" 都是灰色的,但是 "e" 的前半部分是红色,"m" 全部是红色,然后是“1”的一半红色和“的后半部分” 1" 灰色。
我不知道这个。
你有没有想过这样的事情?
<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>
结果: