我正在尝试将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的背景更改为它,并按预期显示。 documentation似乎表明这应该是可能的,但我似乎无法对前景/文本做任何事情。
我做错了什么?我怎样才能实现我想要做的事情?
答案 0 :(得分:1)
RichTextBox.Document属性包含您的文字。您应该使用FlowDocument.Foreground更改文本画笔。但是如果document包含更改子元素笔刷的元素,它将覆盖默认笔刷(FlowDocument.Foreground
)。对于这种情况,您可以递归地浏览整个文档,找到这些元素并将其删除或将其画笔更改为默认值。