public Connection(ItemNode _from, ItemNode _to, Line _line, Canvas canvas) { from = _from; to = _to; line = _line; line.Stroke = Brushes.Black; Canvas.SetZIndex(line, -1); Point p = from.TranslatePoint(new Point(0, 0), canvas); line.X1 = p.X + 25; line.Y1 = p.Y + 25; Point pp = to.TranslatePoint(new Point(0, 0), canvas); line.X2 = pp.X + 25; line.Y2 = pp.Y + 25; canvas.Children.Add(line); }
private void canvas_MouseMove(object sender, MouseEventArgs e) { if (canvas.IsMouseCaptured) { Point t = e.GetPosition(canvas); Vector delta = (e.GetPosition(canvas) - lastpos) * zoom; translateTransform.X += delta.X; translateTransform.Y += delta.Y; lastpos = e.GetPosition(canvas); e.Handled = true; } else if (e.MouseDevice.LeftButton == MouseButtonState.Pressed && drawLine) { Point p = ItemBeingConnected.TranslatePoint(new Point(0, 0), canvas); ConnectionLine.X1 = p.X + 25; ConnectionLine.Y1 = p.Y + 25; Point mousePos = e.GetPosition(canvas); ConnectionLine.X2 = mousePos.X; ConnectionLine.Y2 = mousePos.Y; } }