<StackPanel Loaded="Start_Animation" Background="Red" x:Name="stackPanel"> <StackPanel.Resources> <Storyboard x:Name="colorStoryboard" Completed="colorStoryboard_Completed"> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="rectangle" Storyboard.TargetProperty="X" Duration="0:0:10" FillBehavior="Stop"> <LinearDoubleKeyFrame Value="0" KeyTime="0:0:0"/> <LinearDoubleKeyFrame Value="350" KeyTime="0:0:2"/> <LinearDoubleKeyFrame Value="50" KeyTime="0:0:7"/> <LinearDoubleKeyFrame Value="200" KeyTime="0:0:8"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </StackPanel.Resources> <Rectangle Fill="Blue" Width="50" Height="50"> <Rectangle.RenderTransform> <TranslateTransform x:Name="rectangle" X="0" Y="0"/> </Rectangle.RenderTransform> </Rectangle> <TextBlock x:Name="textBlock" FontSize="30"/></StackPanel> C# public partial class Page : UserControl ...{ int i=1; System.Windows.Threading.DispatcherTimer timer; public Page() ...{ InitializeComponent(); timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 1); timer.Tick += new EventHandler(timer_Tick); timer.Start(); textBlock.Text = i.ToString(); } public void Start_Animation(object sender, EventArgs e) ...{ colorStoryboard.Begin(); } void timer_Tick(object sender, EventArgs e) ...{ if (i <= 10) ...{ textBlock.Text = i++.ToString(); } else ...{ timer.Stop(); } } private void colorStoryboard_Completed(object sender, EventArgs e) ...{ textBlock.Text = "Completed is appeared"; } }