internal class Clock : SurfaceControl { public Clock(Page parent) : base (parent, "Clock.xaml") { // Position and rotate the photo randomly Translate(random.Next((int)(BrowserHost.ActualWidth - _root.Width)), random.Next((int)(BrowserHost.ActualHeight - _root.Height))); Rotate(random.Next(-30, 30)); _parent.Children.Add(this); secondsHand = _root.FindName ("secondsHand") as RotateTransform; minuteHand = _root.FindName ("minuteHand") as RotateTransform; hourHand = _root.FindName ("hourHand") as RotateTransform; (_root.FindName("display") as Storyboard).Begin(); Storyboard runStoryboard = _root.FindName("run") as Storyboard; DoubleAnimation myTimer = new DoubleAnimation (); myTimer.Duration = new Duration (TimeSpan.FromSeconds (1)); runStoryboard.Completed += new EventHandler (updateClock); runStoryboard.Begin (); } void UpdateClock (object sender, EventArgs e) { DateTime dt = DateTime.Now; secondsHand.angle = (dt.Second * 6); minuteHand.angle = (dt.Minute * 6); hourHand.angle = (dt.Hour * 30); runStoryboard.Begin (); } Storyboard runStoryboard; RotateTransform secondsHand; RotateTransform minuteHand; RotateTransform hourHand; }