private static void OnColorChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender; colorPicker.Color = (Color)e.NewValue; colorPicker.Red = ((Color)e.NewValue).R; colorPicker.Green = ((Color)e.NewValue).G; colorPicker.Blue = ((Color)e.NewValue).B; RoutedPropertyChangedEventArgs <Color> arg = new RoutedPropertyChangedEventArgs <Color>((Color)e.OldValue, colorPicker.Color); arg.RoutedEvent = ColorChangedEvent; previousColor = (Color?)e.OldValue ?? null; colorPicker.RaiseEvent(arg); }
private static void OnColorRGBChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender; Color color = colorPicker.Color; if (e.Property == RedProperty) { color.R = (byte)e.NewValue; } if (e.Property == BlueProperty) { color.B = (byte)e.NewValue; } if (e.Property == GreenProperty) { color.G = (byte)e.NewValue; } colorPicker.Color = color; }