private void ArrowDoubleClick(object sender, MouseButtonEventArgs e) { Dispatcher.BeginInvoke(new Action(() => { NormalColorPickerWindow colorPicker = new NormalColorPickerWindow(); if (sender is Arrow) { colorPicker.ColorPicker.SelectedColor = ((System.Windows.Media.SolidColorBrush)((Arrow)sender).Background).Color; } else if (sender is System.Windows.Shapes.Rectangle) { colorPicker.ColorPicker.SelectedColor = ((System.Windows.Media.SolidColorBrush)((System.Windows.Shapes.Rectangle)sender).Fill).Color; } if (colorPicker.ShowDialog().GetValueOrDefault()) { switch (stopType) { case StopType.Start: SelectedBrush.StartColor = DrawingColorToBrushConverter.ConvertBack(colorPicker.SelectedColorBrush); SetStopColor(SelectedBrush.StartColor); break; case StopType.End: SelectedBrush.EndColor = DrawingColorToBrushConverter.ConvertBack(colorPicker.SelectedColorBrush); SetStopColor(SelectedBrush.EndColor); break; } SetPreviewImage(); } })); }
private void SetCurrentStopColor() { NormalColorPickerWindow picker = new NormalColorPickerWindow(); if (picker.ShowDialog().GetValueOrDefault()) { GradientBrush.SelectedArrow.Background = picker.SelectedColorBrush; GradientBrush.SelectedArrow.Color = picker.SelectedColorBrush.Color; SelectedGradientBrush = linearGradientBrush; } }