コード例 #1
0
 public void Start(InkCanvas inkCanvas)
 {
     ClearRepetitionCollections();
     _selectedElements            = new List <UIElement>(inkCanvas.GetSelectedElements());
     _selectedStrokes             = new StrokeCollection(inkCanvas.GetSelectedStrokes());
     inkCanvas.EditingMode        = InkCanvasEditingMode.None;
     _startPoint                  = new Point(-100, -100);
     ProcessRepeateSelectionState = RepeateSelectionState.WaitingStartPoint;
 }
コード例 #2
0
 public void MouseUp(InkCanvas inkCanvas, MouseButtonEventArgs e)
 {
     if (ProcessRepeateSelectionState == RepeateSelectionState.WaitingStartPoint)
     {
         _startPoint = e.GetPosition(inkCanvas);
         AddCopy(inkCanvas);
         _overlayStroke = new OverlayRepeatOperationStroke(new StylusPointCollection
         {
             new StylusPoint(_startPoint.X, _startPoint.Y),
             new StylusPoint(_startPoint.X, _startPoint.Y)
         });
         inkCanvas.Strokes.Add(_overlayStroke);
         _overlayStroke.ProcessRepeateSelectionState = ProcessRepeateSelectionState = RepeateSelectionState.WaitingEndPoint;
     }
 }
コード例 #3
0
 private void Stop(InkCanvas inkCanvas)
 {
     if (_overlayStroke != null && inkCanvas.Strokes.Contains(_overlayStroke))
     {
         inkCanvas.Strokes.Remove(_overlayStroke);
     }
     foreach (var repetition in _repetitions)
     {
         _selectedElements.AddRange(repetition.Obj1);
         _selectedStrokes.Add(repetition.Obj2);
     }
     inkCanvas.Select(_selectedStrokes, _selectedElements);
     if (_repetitions.Count > 0)
     {
         ModelStorage.WorkAreaModel.GroupSelectedDrawings();
     }
     ProcessRepeateSelectionState = RepeateSelectionState.Inactive;
     ClearRepetitionCollections();
 }