/// <summary> /// Set the current color. /// </summary> /// <param name="color">The color.</param> private void SetColor(WColor?color) { color ??= default; var z = color.Value; Color = z; _customColorSwatch.CurrentColor = z; _isSettingValues = true; _rSlider._slider.Value = z.R; _gSlider._slider.Value = z.G; _bSlider._slider.Value = z.B; _aSlider._slider.Value = z.A; _sSlider._slider.Value = z.GetSaturation(); _lSlider._slider.Value = z.GetBrightness(); _hSlider._slider.Value = z.GetHue(); _colorDisplayBorder.Background = new SolidColorBrush(z); _isSettingValues = false; PickingColor?.Invoke(z); }
private void Border_MouseDown(object sender, MouseButtonEventArgs e) { if (!(sender is Border border)) { e.Handled = true; return; } if (Editable && Keyboard.IsKeyDown(Key.LeftCtrl)) { border.Background = new SolidColorBrush(CurrentColor); if (border.DataContext is ColorSwatchItem data) { data.Color = CurrentColor; data.HexString = CurrentColor.ToHexString(); } if (!(ColorPickerControl is null)) { ColorPickerControl.CustomColorsChanged(); } } else { PickingColor?.Invoke(((SolidColorBrush)border.Background).Color); } }