public override void _presenter_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
 {
     if (this.VideoSummarizationControl == null)
     {
         this.VideoSummarizationControl = _inkCollector._mainPage.VideoSummarizationControl;
     }
     if (_startPoint.X == 0 && _startPoint.Y == 0)
     {
         _currPoint    = e.GetPosition(_inkCanvas);
         _currPoint.X -= inkCanvasSpiralSummarizationMargin.Left;
         _currPoint.Y -= inkCanvasSpiralSummarizationMargin.Top;
         currIndex     = videoSummarization.getSelectedKeyFrameIndex(_currPoint);
         //记录操作类型与持续时间
         recordOperateTrace("MOVE");
         if (currIndex != int.MinValue && currIndex != preIndex && _inkCollector.IsShowUnbrokenKeyFrame)
         {
             moveTimerSecond = 0;
             MoveTimer.Start();
             clearPreMessage();
             currIndex = currIndex >= videoSummarization.ShowKeyFrames.Count ? videoSummarization.ShowKeyFrames.Count - 1 : currIndex;
             currIndex = (currIndex == -1 ? 0 : currIndex);
             Image currImage = InkConstants.getImageFromName(videoSummarization.ShowKeyFrames[currIndex].ImageName);
             currImage.Width  = 300;
             currImage.Height = 200;
             currImage.Margin = new Thickness((VideoSummarizationControl.summarization._inkCanvas.ActualWidth - currImage.Width) / 2,
                                              200, 0, 0);
             tapestrySummarization.ParentInkcanvas.Children.Add(currImage);
             preImage = currImage;
             preIndex = currIndex;
         }
         else if (currIndex == int.MinValue)
         {
             if (preImage != null)
             {
                 _inkCanvas.Children.Remove(preImage);
             }
             moveTimerSecond = 0;
         }
         //显示移动轨迹
         if (moveStroke != null)
         {
             moveStroke.StylusPoints.Add(new StylusPoint(_currPoint.X, _currPoint.Y));
             if (moveStroke.StylusPoints.Count > 300)
             {
                 moveStroke.StylusPoints.RemoveAt(0);
             }
         }
         else
         {
             StylusPointCollection spc = new StylusPointCollection();
             spc.Add(new StylusPoint(_currPoint.X, _currPoint.Y));
             moveStroke = new Stroke(spc);
             moveStroke.DrawingAttributes.Color  = Colors.Transparent;
             moveStroke.DrawingAttributes.Width  = 3;
             moveStroke.DrawingAttributes.Height = 3;
             _inkCanvas.Strokes.Add(moveStroke);
         }
     }
     else
     {
         _currPoint = e.GetPosition(_inkCanvas);
         if (startIndex != int.MinValue && _currPoint.X > 0)
         {
             left = videoSummarization.InkCanvas.Margin.Left + _currPoint.X - _prePoint.X;
             //if (left <= 0 && left >VideoSummarizationControl.summarization._inkCanvas.ActualWidth -tapestrySummarization.Width  )
             //{
             videoSummarization.InkCanvas.Margin = new Thickness(left,
                                                                 videoSummarization.InkCanvas.Margin.Top, 0, 0);
             //}
             if (left > 0)
             {
                 left = 0;
                 timebar.Show_EndTime = VideoSummarizationControl.summarization._inkCanvas.ActualWidth - videoSummarization.InkCanvas.Margin.Left;
             }
             else if (left < -tapestrySummarization.Width + VideoSummarizationControl.summarization._inkCanvas.ActualWidth)
             {
                 left = videoSummarization.InkCanvas.Margin.Left;
                 timebar.Show_EndTime = -left + tapestrySummarization.Width + videoSummarization.InkCanvas.Margin.Left;
             }
             else
             {
                 timebar.Show_EndTime = -left + VideoSummarizationControl.summarization._inkCanvas.ActualWidth;
             }
             timebar.Show_StartTime = -left;
             // timebar.Show_EndTime = -left + VideoSummarizationControl.summarization._inkCanvas.ActualWidth;
             timebar.computeLocation();
             _prePoint = _currPoint;
         }
         if (startIndex == int.MinValue && mouseGesture != null)
         {
             mouseGesture.Capturing((int)_currPoint.X, (int)_currPoint.Y);
         }
         //记录操作类型与持续时间
         recordOperateTrace("MOVE");
     }
 }