From 6ba3e6941d8c12da33f6533ee79aa2f6c9e8b318 Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 4 Mar 2021 20:02:07 +0100 Subject: [PATCH] Color gradient property - Trigger PropertyChanged on data binding update --- .../Properties/ColorGradientLayerProperty.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Artemis.Core/DefaultTypes/Properties/ColorGradientLayerProperty.cs b/src/Artemis.Core/DefaultTypes/Properties/ColorGradientLayerProperty.cs index 6eb4bdda2..387c2d9ef 100644 --- a/src/Artemis.Core/DefaultTypes/Properties/ColorGradientLayerProperty.cs +++ b/src/Artemis.Core/DefaultTypes/Properties/ColorGradientLayerProperty.cs @@ -26,12 +26,14 @@ namespace Artemis.Core for (int index = 0; index < CurrentValue.Stops.Count; index++) { int stopIndex = index; - RegisterDataBindingProperty( - () => CurrentValue.Stops[stopIndex].Color, - value => CurrentValue.Stops[stopIndex].Color = value, - new ColorStopDataBindingConverter(), - $"Color #{stopIndex + 1}" - ); + + void Setter(SKColor value) + { + CurrentValue.Stops[stopIndex].Color = value; + CurrentValue.OnColorValuesUpdated(); + } + + RegisterDataBindingProperty(() => CurrentValue.Stops[stopIndex].Color, Setter, new ColorStopDataBindingConverter(), $"Color #{stopIndex + 1}"); } } @@ -58,12 +60,12 @@ namespace Artemis.Core if (_subscribedGradient != BaseValue) { - if (_subscribedGradient != null) + if (_subscribedGradient != null) _subscribedGradient.PropertyChanged -= SubscribedGradientOnPropertyChanged; _subscribedGradient = BaseValue; _subscribedGradient.PropertyChanged += SubscribedGradientOnPropertyChanged; } - + CreateDataBindingRegistrations(); }