private void TransparentButton_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Border targetBox = e.OriginalSource as Border;

            if (targetBox == null)
            {
                return;
            }

            System.Windows.Media.Color Color16 = (targetBox.Background as SolidColorBrush).Color;
            System.Windows.Media.Color Color32 = System.Windows.Media.Color.FromArgb(0, Color16.R, Color16.G, Color16.B);

            if (this.IsSolidType())
            {
                ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());

                InvokeCommand(ColorSelected);
                RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
            }
            else
            {
                GradientEditor1.SelectedColor = Color32;
                //InvokeCommand(GradientEditor1.CurrentStyle);
                //RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
            }
        }
 private void ColorPanelShow_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     e.Handled = true;
     System.Windows.Media.Color Color16 = (ColorPanelShow.Fill as SolidColorBrush).Color;
     System.Windows.Media.Color Color32 = System.Windows.Media.Color.FromArgb(Color16.A, Color16.R, Color16.G, Color16.B);
     if (this.IsSolidType())
     {
         ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());
         //PART_Popup.IsOpen = false;
         InvokeCommand(ColorSelected);
         RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
     }
     else
     {
         GradientEditor1.SelectedColor = Color32;
         StyleColor para = GradientEditor1.CurrentStyle;
         double.TryParse(anglebox.Text, out para.Angle);
         InvokeCommand(para);
         RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
     }
 }
 private void ColorInfoShow_KeyDown(object sender, System.Windows.Input.KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         System.Windows.Media.Color Color16 = (ColorPanelShow.Fill as SolidColorBrush).Color;
         System.Windows.Media.Color Color32 = System.Windows.Media.Color.FromArgb(Color16.A, Color16.R, Color16.G, Color16.B);
         if (this.IsSolidType())
         {
             ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());
             //PART_Popup.IsOpen = false;
             InvokeCommand(ColorSelected);
             RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
         }
         else
         {
             GradientEditor1.SelectedColor = Color32;
             InvokeCommand(GradientEditor1.CurrentStyle);
             RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
         }
     }
 }
        private void ColorExample_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            e.Handled = true;
            if (OpacitySlider == null)
            {
                return;
            }

            Border targetBox = e.OriginalSource as Border;

            if (targetBox == null)
            {
                return;
            }

            System.Windows.Media.Color Color16 = (targetBox.Background as SolidColorBrush).Color;
            Byte A = Convert.ToByte(OpacitySlider.Value * 255 / 100);

            System.Windows.Media.Color Color32 = System.Windows.Media.Color.FromArgb(A, Color16.R, Color16.G, Color16.B);

            if (this.IsSolidType())
            {
                if (Color32.A == 0x00)
                {
                    Color32.A = 0xff;
                }

                ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());
                //PART_Popup.IsOpen = false;
                InvokeCommand(ColorSelected);
            }
            else
            {
                GradientEditor1.SelectedColor = Color32;

                /*InvokeCommand(GradientEditor1.CurrentStyle);
                 * //PART_Popup.IsOpen = false;
                 * RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));*/
            }
        }
        private void OpacityText_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            if (OpacitySlider == null)
            {
                return;
            }

            if (e.Key == Key.Enter)
            {
                try
                {
                    int value = Convert.ToInt32(OpacityText.Text);
                    OpacitySlider.Value = value;
                    Byte A = Convert.ToByte(OpacitySlider.Value * 255 / 100);

                    System.Windows.Media.Color Color16 = (ColorPanelShow.Fill as SolidColorBrush).Color;
                    System.Windows.Media.Color Color32 = System.Windows.Media.Color.FromArgb(A, Color16.R, Color16.G, Color16.B);
                    if (this.IsSolidType())
                    {
                        ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());
                        //PART_Popup.IsOpen = false;
                        InvokeCommand(ColorSelected);
                        RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
                    }
                    else
                    {
                        GradientEditor1.SelectedColor = Color32;
                        InvokeCommand(GradientEditor1.CurrentStyle);
                        RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.WriteLine(ex.Message);
                    e.Handled = false;
                }
            }
        }
        private void ColorDlgButton_Click(object sender, RoutedEventArgs e)
        {
            // RaiseEvent(new RibbonDismissPopupEventArgs(RibbonDismissPopupMode.Always));
            //PART_Popup.StaysOpen = true;

            _bIsShowDlgStatus = true;
            Popup popRoot = GetPopUpRoot();

            popRoot.StaysOpen = true;
            popRoot.IsOpen    = true;

            ///Load custom color
            var customcolor = default(int[]);

            try
            {
                //var dsRegkey = Registry.CurrentUser.OpenSubKey(@"Software\Design Studio");
                //if (dsRegkey != null)
                //{
                //    var customColorobj = dsRegkey.GetValue("CustomColor");
                //    if (customColorobj != null)
                //    {
                //        customcolor = customColorobj.ToString().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToArray();
                //    }
                //}
                var customColorStre = ConfigFileManager.GetValue("CustomColor");
                if (!string.IsNullOrEmpty(customColorStre))
                {
                    customcolor = customColorStre.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(x => int.Parse(x)).ToArray();
                }
            }
            catch
            {
            }

            System.Windows.Forms.ColorDialog colorDialog = new ColorDialog();
            colorDialog.AllowFullOpen = true;
            if (customcolor != null && customcolor.Length > 0)
            {
                colorDialog.CustomColors = customcolor;
            }

            popRoot.StaysOpen = true;

            var cdialogrst = colorDialog.ShowDialog();

            ///save custom color
            if (colorDialog.CustomColors != null && colorDialog.CustomColors.Length > 0)
            {
                ConfigFileManager.SetValue("CustomColor", string.Join(",", colorDialog.CustomColors));
            }

            if (cdialogrst == System.Windows.Forms.DialogResult.OK)
            {
                System.Windows.Media.Color Color32 = new System.Windows.Media.Color();
                Color32.A           = colorDialog.Color.A;
                Color32.B           = colorDialog.Color.B;
                Color32.G           = colorDialog.Color.G;
                Color32.R           = colorDialog.Color.R;
                ColorPanelShow.Fill = new SolidColorBrush(Color32);

                //set color-32 information
                string sARGB = ColorPanelShow.Fill.ToString();
                string sRGB  = @"#" + sARGB.Substring(3, sARGB.Length - 3);
                ColorInfoShow.Text = sRGB;


                //Invoke the command
                _bIsShowDlgStatus = false;
                //ColorSelected = Color32;
                if (this.IsSolidType())
                {
                    ColorSelected = new StyleColor(ColorFillType.Solid, Color32.ToArgb());
                    InvokeCommand(ColorSelected);
                }
                else
                {
                    GradientEditor1.SelectedColor = Color32;
                    _bIsShowDlgStatus             = false;
                    popRoot.IsOpen = true;
                }
            }
            else
            {
                _bIsShowDlgStatus = false;
                popRoot.IsOpen    = true;
            }
        }