0

我正在尝试将 WinRT XAML RichEditBox 的前景设置为线性渐变,以使文本在元素的顶部和底部边缘看起来淡化为透明度。我已经指定 LinearGradientBrush 如下:

<LinearGradientBrush x:Key="ForegroundColor" StartPoint="0.5,0" EndPoint="0.5,1">
    <GradientStop Color="#00424242" Offset="0.0"/>
    <GradientStop Color="#FF424242" Offset="0.1"/>
    <GradientStop Color="#FF424242" Offset="0.9"/>
    <GradientStop Color="#00424242" Offset="1.0"/>
</LinearGradientBrush>

出于某种原因,这对文本没有任何作用。即使我移除不透明度并将颜色值更改为不同的原色,文本的颜色也没有变化。应该正确指定渐变,因为我可以将 RichEditBox 的背景更改为它,它会按预期显示。该文档似乎表明这应该是可能的,但我似乎无法让它对前景/文本做任何事情。

我究竟做错了什么?我怎样才能实现我想要做的事情?

4

1 回答 1

1

有包含您的文本的RichTextBox.Document属性。您应该使用FlowDocument.Foreground来更改文本画笔。但是,如果文档包含更改子元素画笔的元素,它将覆盖您的默认画笔 ( FlowDocument.Foreground)。对于这种情况,您可以递归地浏览整个文档,找到这些元素并删除它们或将它们的画笔更改为默认值。

于 2014-05-26T10:23:10.933 回答