TextBlock
の前景色を後ろの色に基づいて変更し、読みやすくする簡単な方法を探しています。画像は言葉よりも明確なので、これが私が欲しいものです:
カスタムシェーダーエフェクトで実行できると思いますが、作成方法がわかりません...とにかく、もっと簡単な解決策があるかもしれません。
どんなアイデアでも大歓迎です!
TextBlock
の前景色を後ろの色に基づいて変更し、読みやすくする簡単な方法を探しています。画像は言葉よりも明確なので、これが私が欲しいものです:
カスタムシェーダーエフェクトで実行できると思いますが、作成方法がわかりません...とにかく、もっと簡単な解決策があるかもしれません。
どんなアイデアでも大歓迎です!
上記がプログレスバーであると仮定すると、ここに優れたソリューションがあります。
迅速で汚い方法:
白と灰色の両方のテキストブロックを追加し、白のテキストブロックが灰色のテキストブロックの「上」にあることを確認します。白いテキストブロックのテキストを灰色のテキストブロックのテキストにバインドして、同じままになるようにします。
白いテキストブロックに不透明度マスクを追加します。その位置やサイズ(または必要なものは何でも!)は、緑色の長方形の位置やサイズにバインドされます(テンプレート化されたプログレスバーかカスタムコントロールかはわかりませんが、いずれにせよ、それを行うことができます)。
これにより、緑色のバーの上のテキストが白くなります。
Valueconverter(IValueConverterを実装)を記述し、BackgroundColorをコンバーターパラメーターとして渡すことができます。パラメータに基づいて、Textblockのフォアグラウンドを目的の値に変換します。