将TextBlock的前景设置为LinearGradientBrush会导致不需要的行为

时间:2013-01-18 17:15:43

标签: c# .net wpf

我在TextBlock中使用的DataTemplate我收到了不受欢迎的行为。似乎我用于LinearGradientBrush属性的Foreground并没有在字体中为包含“下行”的单词一致地绘制渐变,就像吸血鬼这个词中的小写“p”一样在示例图片中。

我尝试将LineHeight设置为与FontSize相同;没有变化。
我尝试设置Height的{​​{1}};没有改变颜色,但增加了TextBlock底部的高度。

有没有其他人处理过此问题,之前找到了解决方案?我尝试在Google和StackOverflow上搜索答案,但到目前为止我还没有提出任何建议。

编辑:问题是渐变不会对每个文本框应用相同,因为下延器会增加字体的高度。看看单词TextBlockVampire中的小写'a'之间的区别,你会看到我的意思。

Detailed ultra-cool example image

Brave XAML

TextBlock

1 个答案:

答案 0 :(得分:1)

尝试像这样设置MappingMode属性:

<LinearGradientBrush MappingMode="Absolute" StartPoint="0,0" EndPoint="0,1" >