【发布时间】:2011-12-07 16:06:26
【问题描述】:
我有一个没有禁用/启用文本支持的控件,因此我需要将其构建到其中。
问题很简单:如果我想选择正确的系统颜色,以便该控件的禁用文本颜色与相邻禁用标签的颜色相同,我应该选择哪种系统颜色?我试了几个,都不对,要么太亮,要么太暗。
换句话说,假设存在 ForeColor 属性,我应该在这里写什么:
myDefunctLabel.ForeColor = SystemColors.???;
【问题讨论】:
-
禁用的文本不是有某种阴影效果,因此不仅仅是一种颜色吗?至少我记得在旧版本的 Windows 中是这样的。
-
我这里没有类似的东西。无论如何,它比旧的“默认”有点好,旧的“默认”是禁用的控件仍会显示为纯黑色。我会继续研究这个并在更多的计算机上测试它,但我将从亚当的答案 ControlDark 开始。
-
如果 SystemColors.GrayText 不是您期望的颜色,那是因为您当前的主题对它的定义不同。见blogs.msdn.com/b/wpf/archive/2010/11/30/…