private void Stops_Changed(object sender, EventArgs e) { foreach (var color in previousStops) { color.Changed -= Color_Changed; } previousStops = Stops.ToArray(); foreach (var color in previousStops) { color.Changed += Color_Changed; } GradientChanged?.Invoke(this); }