private void mainCanvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e) { ShapeLine myLine = null; myLine = new ShapeLine(); myLine.RectangleOne = tryGetRectangle(e); mainCanvas.MouseMove += myLine.onMouseMove; firstRect = tryGetShape(e); //Присвоение переменной для дальнейшего сравнения типов if (tryGetRectangle(e) != null && tryGetShape(e).GetType() != typeof(ShapeRectangle)) { mainCanvas.MouseMove += myLine.reDrawingLine1; } myLine.mainCanvas = this.mainCanvas; myLine.onMouseDown(sender, e); mainCanvas.Children.Add(myLine.line); listLine.Add(myLine); }
private void Method(ShapeLine line, MouseButtonEventArgs e) { if (tryGetRectangle(e) != null && line.RectangleOne != null && tryGetShape(e).GetType() == typeof(ShapeRectangle) && line.RectangleOne != line.RectangleTwo && tryGetShape(e).GetType() != firstRect.GetType()) { mainCanvas.MouseMove += line.reDrawingLine2; } else { if (mainCanvas.Children.Count > 0) { for (int i = 3; i > 0; i--) { mainCanvas.Children.RemoveAt(this.mainCanvas.Children.Count - 1); //Удаление последних трех элементов, так как линия теперь из 3 линий, для имитации стрелки } } } }