public static void OnColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            SystemColorPicker control = d as SystemColorPicker;

            var newColor = (EngineNS.Color)e.NewValue;

            if (newColor.R == control.EditColor.R &&
                newColor.G == control.EditColor.G &&
                newColor.B == control.EditColor.B &&
                newColor.A == control.EditColor.A)
            {
                control.Brush = new SolidColorBrush(control.EditColor);
            }
            else
            {
                control.EditColor = System.Windows.Media.Color.FromArgb(newColor.A, newColor.R, newColor.G, newColor.B);
                control.Brush     = new SolidColorBrush(control.EditColor);
            }
        }
        public static void OnEditColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            SystemColorPicker control = d as SystemColorPicker;

            Color newColor = (Color)e.NewValue;

            if (newColor == null)
            {
                return;
            }
            if (newColor.R == control.Color.R &&
                newColor.G == control.Color.G &&
                newColor.B == control.Color.B &&
                newColor.A == control.Color.A)
            {
            }
            else
            {
                control.Color = EngineNS.Color.FromArgb(newColor.A, newColor.R, newColor.G, newColor.B);
                control.Brush = new SolidColorBrush(newColor);
            }
        }