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 に答える