void DirectControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
 {
     directImage.Visible = (bool)e.NewValue;
     if (directImage.Visible == true)
     {
         OnVisibleChanged_Visible();
         if (Parent is FrameworkElement)
         {
             (Parent as FrameworkElement).InvalidateMeasure();
         }
         frontBufferCheckTimer.Start();
         directImage.RegisterWithService();
     }
     else
     {
         OnVisibleChanged_NotVisible();
         frontBufferCheckTimer.Stop();
         directImage.UnregisterWithService();
     }
 }