private void bubbleClicked(object s, MouseButtonEventArgs e) { var shellSize = ROOT_explosion.RenderSize.Largest() * 2; var bubble = s.RequireType<Ellipse>(); lastSelectedTheme = bubble.Tag.RequireType<AccentedMaterialSet>(); var cursor = Mouse.GetPosition(ROOT_explosion); var explosionBubble = new Ellipse() { Width = 1, Height = 1, Fill = bubble.Fill, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, //RenderTransformOrigin = new Point(.5, .5), Margin = new Thickness(cursor.X, cursor.Y, 0, 0), RenderTransform = new ScaleTransform(1, 1, .5, .5) }; ROOT_explosion.Children.Add(explosionBubble); //bubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, 1, 0, new BackEase // { EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2); //bubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, 1, 0, new BackEase // { EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2); explosionBubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, shellSize, 0, new BackEase { EasingMode = EasingMode.EaseInOut, Amplitude = .3}); explosionBubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, shellSize , 0, new BackEase { EasingMode = EasingMode.EaseInOut, Amplitude = .3}, OnExplode); explosionBubble.animate(OpacityProperty, 200, 0, 500, new CubicEase { EasingMode = EasingMode.EaseIn}, OnExplodeComplete); }