我正在寻找一种简单的方法来根据其背后的颜色更改TextBlock
的前景色,以便它更具可读性。由于图像比文字更明确,这就是我想要的:
我认为可以使用自定义着色器效果完成,但我不知道如何创建它...无论如何,也许有一个更简单的解决方案。
欢迎任何想法!
答案 0 :(得分:3)
假设上面是进度条,这是一个很好的解决方案:
答案 1 :(得分:0)
快速而肮脏的方法:
添加白色和灰色文本块,确保白色文本块位于灰色文本块的“顶部”。将白色文本块的文本绑定到灰色文本块的文本,因此它们保持不变。
为白色文本块添加不透明蒙版,其位置和/或大小(或任何所需的!)绑定到绿色矩形的位置和/或大小(不确定是否是模板化的ProgressBar或自定义控制,但无论哪种方式都可以做到。)
然后,这将使绿色条上的文本效果为白色。
答案 2 :(得分:0)
您可以编写Valueconverter(实现IValueConverter)并将BackgroundColor作为转换器参数传递。根据您将Textblock的forground转换为所需值的参数。