Windows Phone 7 - 从Hex动态设置按钮背景颜色?

时间:2010-11-29 16:51:46

标签: windows-phone-7

  

可能重复:
  Change custom color for Rectangle.Fill or Grid.Background

我正在尝试从Windows Phone 7中的Hex动态设置按钮背景颜色。

    SolidColorBrush myBrush = new SolidColorBrush();
    myBrush.Color = ColorTranslator.FromHtml("#123456");
    pbMood.Background = myBrush;

ColorTranslator似乎无法使用。该行给出了一个未找到的编译器错误。

我是在寻找错误的位置(不同的命名空间?),还是有其他方法可以从代码中执行此操作?

2 个答案:

答案 0 :(得分:23)

此类在Silverlight中不可用。

Instead, you can write it yourself

public static SolidColorBrush GetColorFromHexa(string hexaColor)
{
    return new SolidColorBrush(
        Color.FromArgb(
            Convert.ToByte(hexaColor.Substring(1, 2), 16),
            Convert.ToByte(hexaColor.Substring(3, 2), 16),
            Convert.ToByte(hexaColor.Substring(5, 2), 16),
            Convert.ToByte(hexaColor.Substring(7, 2), 16)
        )
    );
}

答案 1 :(得分:3)

这个StackOverflow answer提供了一种更简单的方法来使用十六进制值来创建一个SolidColorBrush。

Brush brush = new SolidColorBrush(new Color() { R = 0xFF, G = 0xA6, B = 0x10});