将system.windows.media.brush转换为Hex颜色代码

时间:2012-08-28 13:18:27

标签: c# .net windows-phone-7 colors windows-phone-7.1

在我的Windows phone7应用程序中,我放置了一个画布,并将其背景颜色设置为一些十六进制颜色代码。现在我无法通过c#代码获取十六进制颜色代码值。我使用下面的代码,但它给出了颜色值在system.windows.media.brush.Plz帮助我一个答案?

clr = Convert.ToString(clr1.Background);

1 个答案:

答案 0 :(得分:12)

它似乎返回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"