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