2012-08-28 71 views
5

在我的Windows phone7應用程序中,我放置了一個畫布並將其背景顏色設置爲一些十六進制顏色代碼。現在,我無法通過c#代碼獲取十六進制顏色代碼值。我使用下面的代碼,但它給了system.windows.media.brush.Plz中的顏色值幫我一個答案?將system.windows.media.brush轉換爲十六進制顏色代碼

clr = Convert.ToString(clr1.Background); 

回答

10

看來它返回一個Brush因爲你已經設立了一個顏色,應該返回SolidColorBrush。試試這個

var color = ((SolidColorBrush)clr1.Background).Color.ToString(); 

例子:

var color = new Color() {R = 0xF0, G = 0x10, B = 0x80}; 
var brush = new SolidColorBrush(color); 
var hexcolor = brush.Color.ToString(); 

hexcolor等於"#00F01080"

+0

喜喬納斯,它沒有工作。它返回System.Windows.Media.SolidColorBrush。 –

+0

是嗎? SolidColorBrush應該有一個Color屬性,這正是我試圖使用的。 –

+0

那麼有可能將System.Windows.Media.SolidColorBrush轉換爲十六進制顏色代碼? –

相關問題