private void Canvas_OnPointerPressed(object sender, PointerRoutedEventArgs e) { Debug.WriteLine("Canvas on pointer pressed"); _mouseDownOnCanvas = true; if (_hasShapeBeenSelected) { _hasShapeBeenSelected = false; _canStartCreatingShape = true; return; } if (_shapeManager.HasShapeBeenDeleted) { _shapeManager.HasShapeBeenDeleted = false; _canStartCreatingShape = true; } if (_canStartCreatingShape) { _startingPoint = e.GetCurrentPoint(DrawingCanvas).Position; _canStartCreatingShape = false; } else { _endingPoint = e.GetCurrentPoint(DrawingCanvas).Position; _shapeManager.CreateNewShape(_shapeType, _startingPoint, _endingPoint); _canStartCreatingShape = true; } }