Ejemplo n.º 1
0
 private void DrawNewArrow(Arrow oldArrow)
 {
     var newArrow = new Arrow
     {
         X1 = oldArrow.X1,
         X2 = oldArrow.X2,
         Y1 = oldArrow.Y2 + 40,
         Y2 = oldArrow.Y2 + 70,
         AllowDrop = oldArrow.AllowDrop,
         HeadHeight = oldArrow.HeadHeight,
         HeadWidth = oldArrow.HeadWidth,
         Stroke = oldArrow.Stroke,
         StrokeThickness = oldArrow.StrokeThickness
     };
     DropCanvas.Children.Add(newArrow);
 }
Ejemplo n.º 2
0
        private void DropCanvas_OnDrop(object sender, DragEventArgs e)
        {
            //pobranie wybranego bloku z listy
            var polygon = (Polygon)e.Data.GetData(typeof(Polygon));

            //pobranie strzałki, na którą rzucane są bloki
            _dropArrow = (Arrow) e.OriginalSource;

            //"zabezpieczenie" przed pustym obiektem
            if (polygon == null) return;

            //pobranie miejsca, w którym został upuszczony blok
            _dropPoint = e.GetPosition(DropCanvas);

            //przesunięcie istniejących elementów o wysokości >= _dropPoint
            MoveExistingBlocksIfNecessary(DropCanvas);

            //tworzenie nowej strzałki
            DrawNewArrow(_dropArrow);

            //tworzenie nowego bloku
            CreateNewPolygon(polygon);

            //jeżeli strzałka -> wysokość + 30 lub wysokość bloku
            ResizeCanvas(DropCanvas);
        }
Ejemplo n.º 3
0
 private double GetArrowPosition(Arrow child)
 {
     return child.Y1;
 }
Ejemplo n.º 4
0
 private double GetArrowPosition(Arrow child)
 {
     return(child.Y1);
 }