private static void TimePropertyChangedCallback(DependencyObject sender, DependencyPropertyChangedEventArgs arg)
 {
     if (sender != null && sender is TimeControl1)
     {
         TimeControl1 clock = sender as TimeControl1;
         clock.OnTimeUpdated((DateTime)arg.OldValue, (DateTime)arg.NewValue);
     }
 }
        private static void ExecuteSpeak(object sender, ExecutedRoutedEventArgs arg)
        {
            TimeControl1 clock = sender as TimeControl1;

            if (clock != null)
            {
                clock.SpeakTheTime();
            }
        }
        private static void CanExecuteSpeak(object sender, CanExecuteRoutedEventArgs arg)
        {
            TimeControl1 clock = sender as TimeControl1;

            arg.CanExecute = (clock != null);
        }