Use code to control DoubleAnimation : Animations « Animations « Silverlight






Use code to control DoubleAnimation

Use code to control DoubleAnimation
    

<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'>
    <Canvas x:Name="LayoutRoot" Background="White" >
        <Canvas Height="142" Width="190" Canvas.Left="-165" Canvas.Top="182" x:Name="Slider" RenderTransformOrigin="0.5,0.5" Cursor="Hand">
            <Canvas.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </Canvas.RenderTransform>
            <Rectangle Height="142" Width="190" RadiusX="13" RadiusY="13" Fill="#FF494949"/>
            <Path Height="15" Width="12.5" Canvas.Left="171" Canvas.Top="62.5" Fill="#FFFFFFFF" Stretch="Fill" Data="M6.5,236 L6.5,250 L18,243.5 z"/>
        </Canvas>
    </Canvas>
</UserControl>



//File: Page.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
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
    {

        private Storyboard SlideOut = new Storyboard();
        private DoubleAnimation SlideOutAnim = new DoubleAnimation();
        private Storyboard SlideIn = new Storyboard();
        private DoubleAnimation SlideInAnim = new DoubleAnimation();

        public MainPage()
        {
            InitializeComponent();

            SlideOutAnim.SetValue(Storyboard.TargetNameProperty, "Slider");
            SlideOutAnim.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)"));
            SlideOutAnim.Duration = new Duration(TimeSpan.FromSeconds(0.5));
            SlideOutAnim.To = 150;
            SlideOut.Children.Add(SlideOutAnim);
            LayoutRoot.Resources.Add("SlideOut", SlideOut);

            SlideInAnim.SetValue(Storyboard.TargetNameProperty, "Slider");
            SlideInAnim.SetValue(Storyboard.TargetPropertyProperty, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)"));
            SlideInAnim.Duration = new Duration(TimeSpan.FromSeconds(0.5));
            SlideInAnim.To = 0;
            SlideIn.Children.Add(SlideInAnim);
            LayoutRoot.Resources.Add("SlideIn", SlideIn);

            Slider.MouseEnter += new MouseEventHandler(Slider_MouseEnter);
            Slider.MouseLeave += new MouseEventHandler(Slider_MouseLeave);
        }

        private void Slider_MouseLeave(object sender, MouseEventArgs e)
        {
            SlideIn.Begin();
        }

        private void Slider_MouseEnter(object sender, MouseEventArgs e)
        {
            SlideOut.Begin();
        }
        }
}

   
    
    
    
  








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.Control the animation from codeControl the animation from code
21.Wipe out an ImageWipe out an Image
22.Rotating buttonRotating button
23.Simultaneous animationSimultaneous animation
24.Fade Image StoryboardFade Image Storyboard
25.Repetition durationRepetition duration
26.Timer triggered Animation
27.Animation Ease effect
28.Animate transformationAnimate transformation
29.Grow a ButtonGrow a Button
30.3D Animation