Control the Progress of an Animation : Animation « Windows Presentation Foundation « VB.Net 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="600">
    <Grid>
        <Rectangle x:Name="Rectangle" Height="100" Width="100" Fill="Firebrick">
            <Rectangle.RenderTransform>
                <MatrixTransform x:Name="RectangleMatrixTransform" />
            </Rectangle.RenderTransform>

            <Rectangle.Triggers>
                <EventTrigger RoutedEvent="Rectangle.Loaded">
                    <BeginStoryboard x:Name="RectangleStoryboard">
                        <Storyboard x:Name="Storyboard" CurrentTimeInvalidated="Storyboard_Changed">
                            <MatrixAnimationUsingPath Storyboard.TargetName="RectangleMatrixTransform" Storyboard.TargetProperty="Matrix" Duration="0:0:10"
                RepeatBehavior="Forever">
                                <MatrixAnimationUsingPath.PathGeometry>
                                    <PathGeometry Figures="M -100,0 300, 0" />
                                </MatrixAnimationUsingPath.PathGeometry>
                            </MatrixAnimationUsingPath>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Rectangle.Triggers>
        </Rectangle>

        <Slider x:Name="Seeker" Minimum="0" Maximum="1" SmallChange="0.001" ValueChanged="Seeker_ValueChanged">
            <Slider.Triggers>
                <EventTrigger RoutedEvent="Slider.MouseLeftButtonDown">
                    <StopStoryboard BeginStoryboardName="RectangleStoryboard" />
                </EventTrigger>
                <EventTrigger RoutedEvent="Slider.MouseLeftButtonUp">
                    <ResumeStoryboard BeginStoryboardName="RectangleStoryboard" />
                </EventTrigger>
            </Slider.Triggers>
        </Slider>
    </Grid>
</Window>

//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Media.Animation
Imports System.Windows.Input

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
    End Sub
    Private Sub Storyboard_Changed(sender As Object, e As System.EventArgs)
      Dim clockGroup As ClockGroup = TryCast(sender, ClockGroup)
      Dim animationClock As AnimationClock = TryCast(clockGroup.Children(0), AnimationClock)
      If animationClock.CurrentProgress.HasValue Then
        Seeker.Value = animationClock.CurrentProgress.Value
      End If
    End Sub
    Private Sub Seeker_ValueChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Double))
      Storyboard.Seek(Rectangle, TimeSpan.FromTicks(CLng(Storyboard.Children(0).Duration.TimeSpan.Ticks * Seeker.Value)), TimeSeekOrigin.BeginTime)
    End Sub
  End Class
End Namespace
WPF Control The Progress Of An Animation








16.107.Animation
16.107.1.Animation of the combined transformAnimation of the combined transform
16.107.2.Animate the Opacity of TextBlock at different starting timeAnimate the Opacity of TextBlock at different starting time
16.107.3.Animate Canvas positionAnimate Canvas position
16.107.4.RepeatBehavior=2xRepeatBehavior=2x
16.107.5.Xaml ClockXaml Clock
16.107.6.Enlarge Buttons In XamlEnlarge Buttons In Xaml
16.107.7.Setting enumeration values with discrete animations with DiscreteObjectKeyFrameSetting enumeration values with discrete animations with DiscreteObjectKeyFrame
16.107.8.Expand ElementExpand Element
16.107.9.Animating nested propertiesAnimating nested properties
16.107.10.Text AnimationText Animation
16.107.11.Animate TransformationAnimate Transformation
16.107.12.Associating the clicking of each button with a stack of XAML that starts or stops the animationAssociating the clicking of each button with a stack of XAML that starts or stops the animation
16.107.13.Animation In XamlAnimation In Xaml
16.107.14.Using SpeedRatio in a hierarchyUsing SpeedRatio in a hierarchy
16.107.15.Hold on end for an AnimationHold on end for an Animation
16.107.16.Animate Several PropertiesAnimate Several Properties
16.107.17.Animation ProgressBar.Animation ProgressBar.
16.107.18.Control the Progress of an AnimationControl the Progress of an Animation
16.107.19.Remove Animations with AnimationClockRemove Animations with AnimationClock
16.107.20.Remove AnimationsRemove Animations
16.107.21.Timer triggered AnimationTimer triggered Animation
16.107.22.Rolling Ball AnimationRolling Ball Animation
16.107.23.Create animations using the Storyboard in codeCreate animations using the Storyboard in code
16.107.24.Receive Notification When an Animation CompletesReceive Notification When an Animation Completes
16.107.25.A simple, finite animationA simple, finite animation
16.107.26.Code Animation Accelerate DecelerateCode Animation Accelerate Decelerate
16.107.27.Animation with codeAnimation with code
16.107.28.Rotate Button AnimationRotate Button Animation
16.107.29.Rotate Button Animation With LayoutRotate Button Animation With Layout
16.107.30.A Simple Animation in CodeA Simple Animation in Code