private void canvas_PreviewMouseMove(object sender, MouseEventArgs e) { if (!_isDrawing) { return; } Point p = e.GetPosition(canvas); _drawingObject.EndPoint = new Point2D(p.X, p.Y); if (_suitableDrawing != null) { canvas.Children.RemoveAt(canvas.Children.Count - 1); _suitableDrawing.Draw(canvas, _drawingObject); } }
private void canvas_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (cbxShapes.SelectedIndex == -1) { return; } Point p = e.GetPosition(canvas); DrawableObject obj = (DrawableObject)(cbxShapes.SelectedItem as DrawableObject).Clone(); obj.StartPoint = new Point2D(p.X, p.Y); obj.EndPoint = new Point2D(p.X, p.Y); _drawingObject = obj; _suitableDrawing = GetSuitableDrawing(obj); if (_suitableDrawing != null) { _suitableDrawing.Draw(canvas, obj); _isDrawing = true; } }