private void sp_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     _isDown     = false;
     _isDragging = false;
     try { _realDragSource.ReleaseMouseCapture(); } catch { }
     TabMovementTimer.Stop();
 }
 private void sp_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (e.Source == this.TopPanel)
     {
     }
     else
     {
         _isDown     = true;
         _startPoint = e.GetPosition(this.TopPanel);
         TabMovementTimer.Start();
     }
 }