如何检查网格的当前背景颜色

本文关键字:背景 颜色 网格 何检查 检查 | 更新日期: 2023-09-27 18:00:55

我正在尝试制作一个切换按钮来更改Windows Phone 7应用程序的背景颜色。

我正在使用以下代码更改名为LayoutRoot的网格的背景颜色:

LayoutRoot.Background = new SolidColorBrush(Colors.White);

完成后,我想在if语句中检查LayoutRoot.Background的值(用作切换(。这就是我遇到问题的地方。我似乎想不出一种方法来检查这个值。

当我执行LayoutRoot.Background.ToString()时,我会将System.Windows.Media.SolidBrushColor作为值返回。我想这是有道理的,因为背景是SolidBrushColor。但是,我如何访问该值,以便在if语句中检查它?

如何检查网格的当前背景颜色

你可以做:

SolidColorBrush brush = LayoutRoot.Background as SolidColorBrush;
if (brush != null) {
    if (brush.Color == Colors.White) {
        // Do something
    }
}

其他可能的笔刷包括LinearGradientBrush和RadialGradientBruch,因此SolidColorBrush只是许多可能的笔刷类型之一。这就是为什么有一个if语句检查null的原因。