如题,我这边获取的数据是16位进制的颜色,但是却要用brushes.颜色的类去填充颜色,请问下高手怎么解决这个转换问题,十分感谢……

解决方案 »

  1.   

    提示明显是你类型用错了,你可以直接用Brushes.xxxx,或者 诸如 new SolidBrush(Color.Red);
      

  2.   

    可使用SolidBrush看看 有SolidBrush.Color。
      

  3.   


    诸如 new SolidBrush(Color.Red);是错的,他返回的是color的类型,而我需要的是返回brush的类型,我试过new SolidBrush(Color.Red);,他就报这个类型的错误
      

  4.   

    可能是我没把问题说清楚,我再详细说下:我现在需要把16位进制的颜色转换为brush类型的,原本我是直接用brushes.xxxxx的,但是现在的数据是16位进制的颜色,而且我是需要返回brush类型的,也就是说诸如 new SolidBrush(Color.Red);是错的,因为他返回的是color的类型,我这边是不能用的,问题就是这样了,简单点讲就是要把16位进制的颜色转换为brush类型的,请高手指教,十分感谢……
      

  5.   

    object obsb = Color.Red;
    Brush brush = (Brush)obsb;
      

  6.   

    WPF吗?//这里使用16位数字表示颜色,你可以换其他的
    private static Color ConvertToColor(string htmlcolor)
            {
                System.Drawing.Color color = System.Drawing.ColorTranslator.FromHtml(htmlcolor);
                System.Windows.Media.Color newcolor = System.Windows.Media.Color.FromRgb(color.R, color.G, color.B);
                return newcolor;
            }
    xxx = new SolidColorBrush(ConvertToColor("#ADD8E6"));使用Brushes的话直接用 xxx = Brushes.White;
    或者你对Brushes.White;
    中的Brushes直接双击,会弹出颜色面板,自己在颜色面板里选择你想要的颜色
      

  7.   

    以上回复都不是正解,经过我的思考我还是找不到更好的方法,于是我只能手工打造了个转换类库,可以直接把16进制颜色传进去返回brush颜色。地址是:http://download.csdn.net/detail/dahaianb/4431496