2011-07-01 29 views
1

我試圖基本上做一個切換按鈕來更改Windows Phone 7應用程序的背景顏色。如何檢查網格的當前背景顏色?

我改變了使用此代碼名爲LayoutRoot網格的背景色:

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

後,我這樣做,我想檢查在if語句中的LayoutRoot.Background值(作爲服務切換)。這是我遇到問題的地方。我似乎無法想出一種方法來檢查價值。

當我做一個LayoutRoot.Background.ToString(),我得到System.Windows.Media.SolidBrushColor作爲價值。我想這是有道理的,因爲背景是一個SolidBrushColor。但是,如何獲得價值,所以我可以在我的if語句中查看它?

回答

2

你可以這樣做:

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

其他可能的刷子包括一個LinearGradientBrush和放射漸變,這樣的SolidColorBrush只是衆多可能的畫筆類型之一。這就是爲什麼有一個if語句檢查null的原因。

相關問題