private void v1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Ellipse elem = (Ellipse)sender; if (held == null) { held = elem; } else { int ind1 = vertsUI.IndexOf(held); int ind2 = vertsUI.IndexOf(elem); if (adjMat.adjacencyMatrix[ind1][ind2] == 1) { held = null; return; } Line line = new Line(); line.Visibility = Visibility.Visible; line.StrokeThickness = 2; line.Stroke = Brushes.Black; line.X1 = held.Margin.Left + held.Width / 2; line.Y1 = held.Margin.Top + held.Height / 2; line.X2 = elem.Margin.Left + elem.Width / 2; line.Y2 = elem.Margin.Top + elem.Height / 2; mainGrid.Children.Add(line); lines.Add(line); adjMat.setEdge(ind1, ind2); incMat.addEdge(ind1, ind2); adjList.addEdge(ind1, ind2); held = null; } }