public ColorChangedEventArgs(RoutedEvent routedEvent, Color prevColor, Color oldColor, Color newColor, UpdatedColorReason reason) : base(routedEvent) { PreviewColor = prevColor; OldColor = oldColor; NewColor = newColor; NewColorAsHSV = newColor.ToHSV(); Reason = reason; }
protected void SelectNewColor(Color color, UpdatedColorReason reason) { var hsv = color.ToHSV(); H = hsv.H; S = hsv.S; V = hsv.V; R = color.R; G = color.G; B = color.B; A = color.A; Debug.WriteLine(hsv.ToString()); var oldColor = SelectedColor; SelectedColor = color; switch (reason) { case UpdatedColorReason.AChanged: UpdateHexText(); Debug.WriteLine("alpha changed"); break; case UpdatedColorReason.HueChanged: UpdateHexText(); Debug.WriteLine("hue changed"); break; case UpdatedColorReason.ValueAndSaturationChanged: UpdateHexText(); Debug.WriteLine("value or saturation changed"); break; case UpdatedColorReason.HexChanged: UpdateAlphaSlider(); UpdateHueSlider(); UpdateSaturationValuePicker(); Debug.WriteLine("hex changed"); break; case UpdatedColorReason.ColorPickerInitializated: UpdateHexText(); UpdateAlphaSlider(); UpdateHueSlider(); UpdateSaturationValuePicker(); Debug.WriteLine("Initalized Correctly"); break; } var args = new ColorChangedEventArgs(ColorChangedEvent, PreviewColor, oldColor, color, reason); RaiseEvent(args); }