public DormCell(int row, int col, DormManager dm) { DormRow = row; DormCol = col; alive = false; futureAlive = false; dormManager = dm; dm.SetRoomStatus(alive, row, col); InitializeComponent(); this.UpdateLayout(); }
public void initialize_grid(int n, int m) { dormManager = new DormManager(n, m); dormGrid = new Grid(); dormGrid.Width = 200; dormGrid.Height = 200; dormGrid.ShowGridLines = true; for (int i = 0; i < n; ++i) { dormGrid.ColumnDefinitions.Add(new ColumnDefinition()); } for (int i = 0; i < m; ++i) { dormGrid.RowDefinitions.Add(new RowDefinition()); } for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { DormCell dc = new DormCell(i, j, dormManager); Grid.SetRow(dc,i); // why not dormGrid.SetRow? but Grid.setrow? Grid.SetColumn(dc,j); dormGrid.Children.Add(dc); dormManager.SetRoomStatus(dc.Alive, i, j); } } StackPanel sp = new StackPanel(); Button runOnceButton = new Button(); runOnceButton.Content = "Run Once"; runOnceButton.Click += new RoutedEventHandler(UpdateGrid); runOnceButton.Height = 50; runOnceButton.Width = 200; sp.Children.Add(dormGrid); sp.Children.Add(runOnceButton); this.Content = sp; this.Width = 220; this.Height = 290; this.UpdateLayout(); }