来自 新萄京娱乐手机版 2019-09-14 04:22 的文章
当前位置: 新萄京娱乐手机版 > 新萄京娱乐手机版 > 正文

【WPF】PopupColorEdit 的使用

    public class ColorConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value != null)
            {
                var drawingColor =  ColorTranslator.FromHtml(value.ToString());
                var mediaColor = System.Windows.Media.Color.FromArgb(drawingColor.A, drawingColor.R, drawingColor.G, drawingColor.B);
                return mediaColor;
            }
            return  System.Windows.Media.Color.FromArgb(0,0,0,0);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value != null)
            {
                var mediacolor = (System.Windows.Media.Color)value;
                var drawingcolor = Color.FromArgb(mediacolor.A, mediacolor.R, mediacolor.G, mediacolor.B);
                return ColorTranslator.ToHtml(drawingcolor);
            }
            return "#000000";
        }

        private static ColorConverter _instance;
        public static ColorConverter Instance
        {
            get
            {
                if (_instance == null)
                {
                    _instance = new ColorConverter();
                }
                return _instance;
            }
        }
    }

      

       发觉专门的学业一年多,顾客体验-操作分界面那块做了成都百货上千行事,Dev WPF那套MVVM的框架越写越顺手,大比非常多时光是在开挖新控件,寻觅人机交互的最和煦方式。

      PopupColorEdit 是 dev中一个常用的调色盘控件,它的Color属性重回的是贰个System.Windows.Media.Color对象,并非System.Drawing.Color对象。

  <dxe:PopupColorEdit  HorizontalAlignment="Center" VerticalContentAlignment="Center" Width="120"
                       AllowNullInput="False" 
                       VerticalAlignment="Center" 
                       IsTextEditable="False"
                       Color ="{Binding DataColor, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,Converter={x:Static cvt:ColorConverter.Instance}}"/>

一、前言

         System.Drawing.Color也等于System.Windows.Media.Color(TiguanGB格式)与16进制颜色表示法的红娘。

二、实例

 

       一般来讲数据库贮存的是16进制颜色表示法,那么大家必要把它调换为卡宴GB的格式来援救PopupColorEdit控件

        View:(这里的DataColor依然16进制的,所以大家要写三个Converter)

         这里的Converter牵涉到了System.Windows.Media.Color 与 System.Drawing.Color的交互调换。

         Converter :

 

三、结语

        之后会渐渐往业务逻辑,产品授权优化那块儿学习新知识。

 

本文由新萄京娱乐手机版发布于新萄京娱乐手机版,转载请注明出处:【WPF】PopupColorEdit 的使用

关键词: