Example #1
0
        private void DiagramCanvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (movingLine && isOverEnd && !isOverMy)
            {
                flowLine.MouseRightButtonDown += new MouseButtonEventHandler(DiagramLine_MouseRightButtonDown);
                DiagramLine newLine = new DiagramLine(flowLine, startElement, endElement);
                DiagramLines.Add(newLine);

                movingLine = false;
                isOverMy   = false;
                isOverEnd  = false;
                flowLine   = null;
                Mouse.Capture(null);
            }
            else if (movingLine && !isOverEnd && !isOverMy)
            {
                DiagramCanvas.Children.Remove(flowLine);
                movingLine = false;
                flowLine   = null;
                Mouse.Capture(null);
            }
        }
Example #2
0
        private void CreateDiagramUILine(int startTag, int endTag, Point xy1, Point xy2, Brush stroke)
        {
            Line line = new Line
            {
                StrokeThickness = 4,
                Stroke          = stroke,
                X1 = xy1.X,
                Y1 = xy1.Y,
                X2 = xy2.X,
                Y2 = xy2.Y,
            };
            StackPanel startEle = DiagramCanvas.Children.OfType <StackPanel>()
                                  .FirstOrDefault(p => int.Parse(p.Tag.ToString()) == startTag);
            StackPanel endEle = DiagramCanvas.Children.OfType <StackPanel>()
                                .FirstOrDefault(p => int.Parse(p.Tag.ToString()) == endTag);

            line.MouseRightButtonDown += new MouseButtonEventHandler(DiagramLine_MouseRightButtonDown);
            DiagramLine dl = new DiagramLine(line, startEle, endEle);

            DiagramLines.Add(dl);
            DiagramCanvas.Children.Add(line);
            Panel.SetZIndex(line, 2);
        }