Mega Code Archive

 
Categories / Silverlight / Animations
 

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();         }         } }