Remove Animations with AnimationClock : Animation « Windows Presentation Foundation « C# / CSharp Tutorial






<Window x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="" Height="300" Width="300">
  <Window.Resources>
    <Storyboard x:Key="Storyboard1">
      <ParallelTimeline>
        <DoubleAnimation x:Name="Animation1" Storyboard.TargetProperty="Width" From="140" To="50"
          AutoReverse="True" RepeatBehavior="Forever" />
        <DoubleAnimation Storyboard.TargetProperty="Opacity" To="0.5" AutoReverse="True" RepeatBehavior="Forever" />
      </ParallelTimeline>
    </Storyboard>
  </Window.Resources>

  <UniformGrid>
    <Button x:Name="button3" Content="Method 3" Click="Button3_Click" Loaded="Button3_Loaded" />
  </UniformGrid>
</Window>
//File:Window.xaml.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Animation;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        private AnimationClock opacityClock;
        private AnimationClock widthClock;
        public Window1()
        {
            InitializeComponent();
        }

        private void Button3_Loaded(object sender, RoutedEventArgs e)
        {
            DoubleAnimation opacityAnimation = new DoubleAnimation(1d, 0.5d, TimeSpan.FromSeconds(1), FillBehavior.HoldEnd);
            opacityAnimation.RepeatBehavior = RepeatBehavior.Forever;
            opacityAnimation.AutoReverse = true;
            opacityClock = opacityAnimation.CreateClock();
            button3.ApplyAnimationClock(Button.OpacityProperty, opacityClock);

            DoubleAnimation widthAnimation = new DoubleAnimation(140d, 50d, TimeSpan.FromSeconds(1), FillBehavior.HoldEnd);
            widthAnimation.RepeatBehavior = RepeatBehavior.Forever;
            widthAnimation.AutoReverse = true;
            widthClock = widthAnimation.CreateClock();
            button3.ApplyAnimationClock(Button.WidthProperty, widthClock);
        }
        private void Button3_Click(object sender, RoutedEventArgs e)
        {
            opacityClock.Controller.Remove();
            widthClock.Controller.Remove();
        }        
    }
}
WPF Remove Animations With Animation Clock








24.108.Animation
24.108.1.Two AnimationsTwo Animations
24.108.2.Animate RenderTransform AngleAnimate RenderTransform Angle
24.108.3.Animation In StyleAnimation In Style
24.108.4.Animation without acceleration or decelerationAnimation without acceleration or deceleration
24.108.5.XAML Only AnimationXAML Only Animation
24.108.6.Control Animations Through TriggersControl Animations Through Triggers
24.108.7.Four Sided BounceFour Sided Bounce
24.108.8.Matrix Animated ButtonMatrix Animated Button
24.108.9.KeySpline AnimationKeySpline Animation
24.108.10.Repetition countRepetition count
24.108.11.Repetition durationRepetition duration
24.108.12.Rotate Button AnimationRotate Button Animation
24.108.13.Rotate Button Animation With LayoutRotate Button Animation With Layout
24.108.14.A simple, finite animationA simple, finite animation
24.108.15.Animation with codeAnimation with code
24.108.16.Animation In CodeAnimation In Code
24.108.17.A Simple Animation in CodeA Simple Animation in Code
24.108.18.Remove Animations with AnimationClockRemove Animations with AnimationClock
24.108.19.Remove AnimationsRemove Animations
24.108.20.Control the Progress of an AnimationControl the Progress of an Animation
24.108.21.Timer triggered AnimationTimer triggered Animation
24.108.22.Show a Continuous Animation During an Asynchronous ProcessShow a Continuous Animation During an Asynchronous Process
24.108.23.Receive Notification When an Animation CompletesReceive Notification When an Animation Completes