当您将SimpleButton.Appearance.BackColor
属性设置为DX Skin
颜色(@Danger
,@Question
,@Success
,@Primary
或{{1} },如图所示):
在运行时使用适当的颜色评估@Info
属性(如果肤色太暗,则使用Color.White;如果肤色太亮,则使用Color.Black ):
黑暗SimpleButton.Appearance.ForeColor
:
浅色@Success
:
如何获得在运行时评估的@Success
?
我尝试获取ForeColor
,SimpleButton.ForeColor
和SimpleButton.Appearance.ForeColor
(我正在尝试在SimpleButton.Appearance.GetForeColor(e.GraphicsCache)
事件中获取此颜色),但始终为CustomDraw
答案 0 :(得分:1)
我最终根据this implementation of the W3C standard使用了这种扩展方法,并根据modifications的测试进行了一些Miral的测试:
public static Color GetContrastColor(this Color color)
{
return (color.R * 0.299M) + (color.G * 0.587M) + (color.B * 0.114M) > 149 ?
Color.Black :
Color.White;
}
答案 1 :(得分:0)
DevExpress.LookAndFeel.DXSkinColors.ForeColors.Information属性应为信息/成功着色提供ForeColor。