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); } }
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); } } }
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); }