Пример #1
0
        private void PickColorButton_OnClick(object sender, RoutedEventArgs e)
        {
            Color color;
            Color?initialColor = null;

            if (ColorDisplayGrid.Background is SolidColorBrush scb)
            {
                initialColor = scb.Color;
            }
            if (ColorPickerWindow.ShowDialog(out color, Options, initialColor: initialColor))
            {
                SetColor(color);
                OnPick?.Invoke(this, EventArgs.Empty);
            }
        }
Пример #2
0
 private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (e.ClickCount == 2)
     {
         Color color;
         Color?initialColor = null;
         if (ColorDisplayGrid.Background is SolidColorBrush scb)
         {
             initialColor = scb.Color;
         }
         if (ColorPickerWindow.ShowDialog(out color, Options, initialColor: initialColor))
         {
             SetColor(color);
             OnPick?.Invoke(this, EventArgs.Empty);
         }
     }
 }
Пример #3
0
        public static bool ShowDialog(out Color color, ColorPickerDialogOptions flags = ColorPickerDialogOptions.None, ColorPickerControl.ColorPickerChangeHandler customPreviewEventHandler = null, Color?initialColor = null)
        {
            if ((flags & ColorPickerDialogOptions.LoadCustomPalette) == ColorPickerDialogOptions.LoadCustomPalette)
            {
                ColorPickerSettings.UsingCustomPalette = true;
            }

            var instance = new ColorPickerWindow();

            if (initialColor.HasValue)
            {
                instance.ColorPicker.SetColor(initialColor.Value);
            }
            color = instance.ColorPicker.Color;

            if ((flags & ColorPickerDialogOptions.SimpleView) == ColorPickerDialogOptions.SimpleView)
            {
                instance.ToggleSimpleAdvancedView();
            }

            if (ColorPickerSettings.UsingCustomPalette)
            {
                instance.ColorPicker.LoadDefaultCustomPalette();
            }

            if (customPreviewEventHandler != null)
            {
                instance.ColorPicker.OnPickColor += customPreviewEventHandler;
            }

            var result = instance.ShowDialog();

            if (result.HasValue && result.Value)
            {
                color = instance.ColorPicker.Color;
                return(true);
            }

            return(false);
        }