如何检查两种颜色是一样的

时间:2017-12-15 18:00:43

标签: c# windows-10-universal

对不起,如果问题愚蠢,但我几乎没有C#经验。 对于我正在处理的项目,我想检查边框颜色是否为蓝色。

Position pos = new Position(x, y); // my custom class
Border b = (Border)FindName("b_"+ pos.X +"_"+ pos.Y); // get berder by name
// One of my fail attempts
bool isBlue = b.GetValue(SolidColorBrush.ColorProperty).ToString().Equals(Colors.Blue.ToString());

希望它是可行的。

// I set color to Border this way
Border b = new Border();
b.Background = new SolidColorBrush(Colors.WhiteSmoke);

小时谷歌没有给我任何足够简单的结果我可以使用。我发现最接近的是比较帖子。但是我的知识不足以适应它。欢迎任何帮助正确的方向。

1 个答案:

答案 0 :(得分:3)

你可以做的是比较ARGB值,一个例子就是这个扩展名:

public static bool IsEqualTo(this Color color1, Color color2)
{
    return color1.A == color2.A && color1.R == color2.R && color1.G == color2.G && color1.B == color2.B;
}

并像这样使用它:

bool isBlue = b.GetValue(SolidColorBrush.ColorProperty).IsEqualTo(Colors.Blue);