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

Min*_*Con 5 .net c# colors windows-phone-7 windows-phone-7.1

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

clr = Convert.ToString(clr1.Background);
Run Code Online (Sandbox Code Playgroud)

Jon*_*röm 12

它似乎返回一个Brush,因为你设置了一个颜色它应该返回一个SolidColorBrush.试试这个

var color = ((SolidColorBrush)clr1.Background).Color.ToString();
Run Code Online (Sandbox Code Playgroud)

例:

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

hexcolor 等于 "#00F01080"