4

TextBlock在我的DataTemplate. 似乎LinearGradientBrush我用于该Foreground属性的不是在字体上一致地绘制包含“descenders”的单词的渐变,例如示例图片中单词 Vampire 中的小写“p”。

我尝试将 设置LineHeight为与FontSize;相同 不用找了。
我尝试设置Height; TextBlock颜色没有变化,但在底部增加了高度TextBlock

有没有其他人处理过这个问题并找到了解决方案?我尝试在 Google 和 StackOverflow 上搜索答案,但到目前为止我一无所获。

编辑:问题是渐变没有应用于每个文本框,因为下降增加了字体的高度。Vampire看看单词和中的小写“a”之间的区别Brave,你就会明白我的意思。

详细的超酷示例图片

TextBlockXAML

<TextBlock Text="{Binding Title}" FontWeight="Bold" FontStyle="Italic" 
           FontSize="20" Padding="3" LineHeight="20">
  <TextBlock.Foreground>
    <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" >
      <GradientStopCollection>
        <GradientStop Color="White" Offset="0.2"/>
        <GradientStop Color="AliceBlue" Offset="0.4"/>
        <GradientStop Color="#6AB0EE" Offset="0.6"/>
        <GradientStop Color="DarkOrange" Offset="0.8"/>
      </GradientStopCollection>
    </LinearGradientBrush>
  </TextBlock.Foreground>
</TextBlock>
4

1 回答 1

3

尝试MappingMode像这样设置属性:

<LinearGradientBrush MappingMode="Absolute" StartPoint="0,0" EndPoint="0,1" >
于 2013-01-18T19:26:46.110 回答