Например, если у меня есть маркировка:
Blah blah bladity blah
Я хочу первые 10% этой маркировки, такой, что цвет шрифта должен быть красным, и остальные должны быть зелеными.
Это, возможно, означает, что окрасило бы Кипу и ЧАСТЬ a. В основном мудрый пикселем шрифт, окрашивающий вместо символьно-мудрого. Действительно ли это возможно и как был бы быть быть выполненным?
Да, это будет примерно так:
<Canvas>
<dataInput:Label Background="White" >
<dataInput:Label.Foreground>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Color="Red" Offset="0.1"/>
<GradientStop Color="Green" Offset="0.1"/>
</LinearGradientBrush>
</dataInput:Label.Foreground>
Blah blah bladity blah
</dataInput:Label>
</Canvas>
Чтобы не имел эффект градиента, вам необходимо установить для обоих Offset
одинаковое значение.
Примечание : В этом размере шрифта (стандартном, ничего не изменилось) «B» и «l» красные, и только небольшая полоска «a» - это. Но «0,1» в Offset
означает 10%, поэтому вы можете либо уменьшить размер шрифта, либо изменить значение Offset
.
Да - вы должны использовать кисть Gradient с цветом переднего плана Text.
<TextBlock Text="Blah blah bladity blah">
<TextBlock.Foreground>
<LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
<GradientStop Color="Red" Offset="0.1"/>
<GradientStop Color="Green" Offset="0.1"/>
</LinearGradientBrush>
</TextBlock.Foreground>
</TextBlock>