internal ImplicitAnimationCollection GetImplicitAnimationCollection(UIElement parent) { Compositor compositor = ElementCompositionPreview.GetElementVisual(parent).Compositor; ImplicitAnimationCollection animations = compositor.CreateImplicitAnimationCollection(); foreach (IImplicitTimeline timeline in this) { CompositionAnimation animation = timeline.GetAnimation(parent, out string?target); target ??= animation.Target; if (!animations.ContainsKey(target)) { animations[target] = animations.Compositor.CreateAnimationGroup(); } ((CompositionAnimationGroup)animations[target]).Add(animation); } return(animations); }