Control the animation from code : Animations « Animations « Silverlight






Control the animation from code

Control the animation from code
    

<UserControl x:Class='SilverlightApplication3.MainPage'
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>

  <UserControl.Resources>
    <Storyboard x:Name="fadeStoryboard">
      <DoubleAnimation x:Name="fadeAnimation"
                Storyboard.TargetName="imgDay"
                Storyboard.TargetProperty="Opacity"
                From="1" To="0" Duration="0:0:10" ></DoubleAnimation>
    </Storyboard>
  </UserControl.Resources>


  <Grid x:Name="LayoutRoot" Background="White" Margin="5">
      <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>        
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>        
      </Grid.RowDefinitions>
      <Grid>
        <Image Source="c:/image.jpg"></Image>
        <Image Source="c:/image.jpg" Name="imgDay"></Image>
      </Grid>

      <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" Margin="5">
      <Button x:Name="cmdStart" Content="Start" Click="cmdStart_Click" Margin="3" Padding="1"></Button>
        <Button x:Name="cmdPause" Content="Pause" Click="cmdPause_Click" Margin="3" Padding="1"></Button>
        <Button x:Name="cmdResume" Content="Resume" Click="cmdResume_Click" Margin="3" Padding="1"></Button>
        <Button x:Name="cmdStop" Content="Stop" Click="cmdStop_Click" Margin="3" Padding="1"></Button>
        <Button x:Name="cmdMiddle" Content="Move To Middle" Click="cmdMiddle_Click" Margin="3" Padding="1"></Button>
      </StackPanel>
      
      <Grid Grid.Row="2" Margin="5">
        <Grid.ColumnDefinitions>
          <ColumnDefinition Width="Auto"></ColumnDefinition>
          <ColumnDefinition></ColumnDefinition>
          <ColumnDefinition Width="Auto"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <TextBlock>Speed:</TextBlock>
        <Slider Grid.Column="1" x:Name="sldSpeed"
              Minimum="0" Maximum="3" Value="1" ValueChanged="sldSpeed_ValueChanged"></Slider>
              <TextBlock Grid.Column="2" x:Name="lblSpeed">1.0</TextBlock>
      </Grid>      
    </Grid>
  
</UserControl>
//File: Page.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void cmdStart_Click(object sender, RoutedEventArgs e)
        {
            fadeStoryboard.Begin();
        }

        private void cmdPause_Click(object sender, RoutedEventArgs e)
        {
            fadeStoryboard.Pause();
        }

        private void cmdResume_Click(object sender, RoutedEventArgs e)
        {
            fadeStoryboard.Resume();
        }

        private void cmdStop_Click(object sender, RoutedEventArgs e)
        {
            fadeStoryboard.Stop();            
        }

        private void cmdMiddle_Click(object sender, RoutedEventArgs e)
        {
            fadeStoryboard.Begin();
            fadeStoryboard.Seek(TimeSpan.FromSeconds(fadeAnimation.Duration.TimeSpan.TotalSeconds/2));
        }

        private void sldSpeed_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            if (sldSpeed == null) return;
            fadeStoryboard.SpeedRatio = sldSpeed.Value;
            lblSpeed.Text = sldSpeed.Value.ToString("0.0");
        }
    }
}

   
    
    
    
  








Related examples in the same category

1.Using Simple Animations with ObjectsUsing Simple Animations with Objects
2.Controlling Animations ProgrammaticallyControlling Animations Programmatically
3.Creating from to AnimationsCreating from to Animations
4.Rectangles and Multiple Animation EffectsRectangles and Multiple Animation Effects
5.Chained Animation EffectsChained Animation Effects
6.Point Animation EffectsPoint Animation Effects
7.Starting an animation with a trigger
8.Create a bounce animationCreate a bounce animation
9.Move a rectangle from position (0,0) to position (300,0) in 5 secondsMove a rectangle from position (0,0) to position (300,0) in 5 seconds
10.Enlarge Button In Xaml
11.Two Animations
12.Animation without acceleration or deceleration
13.Animation with a slow speed
14.Animate EndPointAnimate EndPoint
15.Animate StartPointAnimate StartPoint
16.XAML Only Animation
17.Four Sided Bounce
18.Start the animation with Path is loaded
19.Brush animationBrush animation
20.Wipe out an ImageWipe out an Image
21.Rotating buttonRotating button
22.Simultaneous animationSimultaneous animation
23.Fade Image StoryboardFade Image Storyboard
24.Repetition durationRepetition duration
25.Timer triggered Animation
26.Use code to control DoubleAnimationUse code to control DoubleAnimation
27.Animation Ease effect
28.Animate transformationAnimate transformation
29.Grow a ButtonGrow a Button
30.3D Animation