去年曾经写过几篇关于Silverlight的一些小技巧,主要是对工作中遇到的问题的一个解决思路,本篇整理出其中经常遇到的几个问题

           1.ColorExtension

              相信习惯用XAML的程序员经常会被这个问题苦恼着,明明Xaml里面可以智能提示的Color,用C#居然没有.见下图:

             Silverlight Tip(6)       Silverlight Tip(6)

            那怎么解决这个呢,一般情况下我都是用取色工具把颜色取出来,然后转化成Color,Blend自带的取色工具就很好用

           Silverlight Tip(6)

        做法是从ARGB转化成Color这样一个思路,封装成一个类ColorExtension

     public sealed class ColorExtension
   {
       private readonly uint value;
       private ColorExtension() { }
       private ColorExtension(uint color)
       {
           this.value = color;
       }
       public static implicit operator Color(ColorExtension color)
       {
           uint colorValue = color;
           return Color.FromArgb((byte)(colorValue >> 24),
                                 (byte)(colorValue >> 16), (byte)(colorValue >> 8),
                                 (byte)(colorValue));
       }
       public static implicit operator Brush(ColorExtension color)
       { return new SolidColorBrush(color); }
       public static implicit operator uint(ColorExtension color)
       {
           return color.value;
       }
       public static implicit operator ColorExtension(uint color)
       {
           return new ColorExtension(color);
       }
     }

相关文章:

  • 2021-09-13
  • 2021-12-09
  • 2021-12-08
  • 2021-09-12
  • 2022-02-27
  • 2021-12-16
  • 2021-09-28
猜你喜欢
  • 2022-12-23
  • 2021-11-10
  • 2021-10-15
  • 2022-12-23
  • 2021-12-29
  • 2022-12-23
相关资源
相似解决方案