Пример #1
0
        private void PutLine(Unit u1, Unit u2, int nameIndex, int delay)
        {
            var width = u2.Position.X > u1.Position.X
                ? u2.Position.X - u1.Position.X + 10
                : u1.Position.X - u2.Position.X + 10;
            var height = u2.Position.Y - u1.Position.Y;

            var lineGrid = new Grid
            {
                Height = height,
                Width = width,
                Name = "GridLine" + nameIndex,
                Margin = new Thickness(
                    u1.Position.X < u2.Position.X 
                        ? u1.Position.X - 5 + WidthOfUnit * 0.5
                        : u2.Position.X - 5 + WidthOfUnit * 0.5,
                    u1.Position.Y + WidthOfUnit * 0.5, 0, 0),
                //Background = Brushes.Aqua,
                
            };

            // RegisterName(ellipseGrid.Name, ellipseGrid);
            Panel.SetZIndex(lineGrid, 0);

            var line = new Line()
            {
                X1 = u1.Position.X < u2.Position.X ? 0 : width-5,
                Y1 = 0,
                X2 = u1.Position.X > u2.Position.X ? 0 : width-5,
                Y2 = height,
                StrokeThickness = 2,
                Stroke = Brushes.Black,
            };
            
            Panel.SetZIndex(line, 0);

            var textBlock = new TextBlock
            {
                HorizontalAlignment = HorizontalAlignment.Center,
                TextAlignment = TextAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center,
                Background = Brushes.White,
                FontSize = 12,
                Text = delay.ToString(),
                Padding = new Thickness(2,2,2,2)
            };

            Panel.SetZIndex(textBlock, 1);
            lineGrid.Children.Add(line);
            lineGrid.Children.Add(textBlock);
            MyCanvas.Children.Add(lineGrid);
            
        }
Пример #2
0
        private Binding CreateBinding(Unit unit1, Unit unit2, int delay, int index)
        {
            PutLine(unit1, unit2, index, delay);

            var binding = new Binding()
            {
                Index = index,
                Delay = delay,
                Name = "",
                Units = new List<int>() { unit1.Index, unit2.Index },
            };

            return binding;
        }