Browse Source

fix: Address review

pull/10194/head
Giuseppe Lippolis 4 years ago
parent
commit
b1ca75a30b
  1. 17
      src/Avalonia.Base/Animation/Animatable.cs

17
src/Avalonia.Base/Animation/Animatable.cs

@ -29,12 +29,9 @@ namespace Avalonia.Animation
private bool _transitionsEnabled = true; private bool _transitionsEnabled = true;
private bool _isSubscribedToTransitionsCollection = false; private bool _isSubscribedToTransitionsCollection = false;
private Dictionary<ITransition, TransitionState>? _transitionState; private Dictionary<ITransition, TransitionState>? _transitionState;
readonly NotifyCollectionChangedEventHandler _collectionChanged; private NotifyCollectionChangedEventHandler _collectionChanged;
private NotifyCollectionChangedEventHandler TransitionsCollectionChangedHandler =>
public Animatable() _collectionChanged ??= TransitionsCollectionChanged;
{
_collectionChanged = TransitionsCollectionChanged;
}
/// <summary> /// <summary>
/// Gets or sets the clock which controls the animations on the control. /// Gets or sets the clock which controls the animations on the control.
@ -72,7 +69,7 @@ namespace Avalonia.Animation
if (!_isSubscribedToTransitionsCollection) if (!_isSubscribedToTransitionsCollection)
{ {
_isSubscribedToTransitionsCollection = true; _isSubscribedToTransitionsCollection = true;
transitions.CollectionChanged += _collectionChanged; transitions.CollectionChanged += TransitionsCollectionChangedHandler;
} }
AddTransitions(transitions); AddTransitions(transitions);
} }
@ -97,7 +94,7 @@ namespace Avalonia.Animation
if (_isSubscribedToTransitionsCollection) if (_isSubscribedToTransitionsCollection)
{ {
_isSubscribedToTransitionsCollection = false; _isSubscribedToTransitionsCollection = false;
transitions.CollectionChanged -= _collectionChanged; transitions.CollectionChanged -= TransitionsCollectionChangedHandler;
} }
RemoveTransitions(transitions); RemoveTransitions(transitions);
} }
@ -126,7 +123,7 @@ namespace Avalonia.Animation
toAdd = newTransitions.Except(oldTransitions).ToList(); toAdd = newTransitions.Except(oldTransitions).ToList();
} }
newTransitions.CollectionChanged += _collectionChanged; newTransitions.CollectionChanged += TransitionsCollectionChangedHandler;
_isSubscribedToTransitionsCollection = true; _isSubscribedToTransitionsCollection = true;
AddTransitions(toAdd); AddTransitions(toAdd);
} }
@ -140,7 +137,7 @@ namespace Avalonia.Animation
toRemove = oldTransitions.Except(newTransitions).ToList(); toRemove = oldTransitions.Except(newTransitions).ToList();
} }
oldTransitions.CollectionChanged -= _collectionChanged; oldTransitions.CollectionChanged -= TransitionsCollectionChangedHandler;
RemoveTransitions(toRemove); RemoveTransitions(toRemove);
} }
} }

Loading…
Cancel
Save