如何使用C#代码编程地将Background进行比较或验证按钮与Silverlight中的十六进制颜色



更新:我如何比较或验证button.background与十六进制颜色,例如{#ff008f06}等。

背景属性是类型刷子,因此可以是 SolidColorBrushGradientBrush等。

我认为您需要区分各种类型并执行正确的比较。

例如:

if(Button.Background is SolidColorBrush)
{
    bool isRed = ((SolidColorBrush)Button.Background).Color == Colors.Red;
}
else if (Button.Background is GradientBrush)
{
    ...
}

将A与特定的十六进制颜色进行比较:

bool flag = ((SolidColorBrush)Button.Background).Color == 
                           (Color)ColorConverter.ConvertFromString("#FF008F06");

编辑测试sustert

var Greenish = new SolidColorBrush(Colors.Green);
Assert.AreEqual(Greenish.Color, ((SolidColorBrush)Button.backGround)).Color;

最新更新