彩票走势图

为Silverlight添加ColorConverter

转帖|其它|编辑:郝浩|2011-04-18 13:21:45.000|阅读 741 次

概述:在Silverlight的System.Windows.Media中没有ColorConverter类,而有些颜色并不都是用ARGB表示的,比如"Red"等。所以写一个ARGB到Color的转换类有一定的局限性,于是便借用XAML进行转换。具体转换性能就没有进行测试了,反正用的地方不是很多,能转就很好。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  在Silverlight的System.Windows.Media中没有ColorConverter类,而有些颜色并不都是用ARGB表示的,比如"Red"等。所以写一个ARGB到Color的转换类有一定的局限性,于是便借用XAML进行转换。具体转换性能就没有进行测试了,反正用的地方不是很多,能转就很好。

public class ColorConverter   
{   
     public static Color ConvertFromString(string colorString)   
     {   
         Color color;   
         try  
         {   
             Line line = (Line)XamlReader.Load( "<Line xmlns=\"//schemas.microsoft.com/winfx/2006/xaml/presentation\" Fill=\"" + colorString + "\" />");   
             color = (Color)line.Fill.GetValue(SolidColorBrush.ColorProperty);   
         }   
         catch  
         {   
             color = new Color();   
         }   
  
         return color;   
     }   

  测试一下:

var color = ColorConverter.ConvertFromString("red");   
MessageBox.Show(color.ToString());   
color = ColorConverter.ConvertFromString("#CC0000FF");   
MessageBox.Show(color.ToString());   
color = ColorConverter.ConvertFromString("#00FF00");   
MessageBox.Show(color.ToString());   
// 错误的话会成为黑色#00000000   
color = ColorConverter.ConvertFromString("asasas");   
MessageBox.Show(color.ToString());  


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP