< 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"; } }