public void Print(int[,] arrayFelder) { //останавливаем генерцию новых поколений Timer.Stop(); StartStopTite = "Старт"; CanvasPanel.Background = Brushes.LightGray; CanvasPanel.Height = height * 17 - 2; // размеры пдоложки клеток. 17 - размер клетки с учетом границб "-2" - убирает полоску пдоложки внизу и справа CanvasPanel.Width = width * 17 - 2; CanvasPanel.HorizontalAlignment = HorizontalAlignment.Center; CanvasPanel.VerticalAlignment = VerticalAlignment.Center; CanvasPanel.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); CanvasPanel.Arrange(new Rect(0.0, 0.0, CanvasPanel.Width, CanvasPanel.DesiredSize.Height)); for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { Rectangle rectangle = new Rectangle(); rectangle.Width = 15; //размеры клетки rectangle.Height = 15; if (arrayFelder[i, j] == 1) { rectangle.Fill = Brushes.DarkSlateGray; //живаая клетка } else { rectangle.Fill = Brushes.DarkGray; //мертвая клетка } CanvasPanel.Children.Add(rectangle); Canvas.SetLeft(rectangle, j * 17); Canvas.SetTop(rectangle, i * 17); rectangle.MouseDown += R_MouseDown; felder[i, j] = rectangle; } } }