/// <inheritdoc />
 public override Task AnimateAsync(FixedAnimationType animationType, TimeSpan duration)
 {
     // Apply all the animations in parallel and wait for their completion
     return(Task.WhenAll(
                from pair in PropertiesAnimationValues
                let target = animationType == FixedAnimationType.In ? pair.Value.On : pair.Value.Off
                             select EffectBrush.StartAnimationAsync(pair.Key, target, duration)));
 }
 /// <inheritdoc />
 public override Task AnimateAsync(FixedAnimationType animationType, TimeSpan duration)
 {
     return(EffectBrush.StartAnimationAsync(Parameters.Property,
                                            animationType == FixedAnimationType.In ? Parameters.On : Parameters.Off, duration));
 }