public GameFieldView() { InitializeComponent(); _cellHandlersController = VMLocator.CellHandlersController; DataContext = _cellHandlersController; Loaded += (s, e) => AttachHandlers(); Unloaded += (s, e) => DetachHandlers(); InitGameField(); }
public void GenerateNewField(ICellHandlersController fieldController) { if (fieldController == null) { return; } for (int i = 0; i < fieldController.Dimension; i++) { RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); } for (int j = 0; j < fieldController.Dimension; j++) { ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); } Margin = new Thickness(0); Background = Brushes.Black; for (int i = 0; i < fieldController.Dimension; i++) { for (int j = 0; j < fieldController.Dimension; j++) { var cell = new GameCell(fieldController.GetCellHandler(i, j), 60, 60) { Margin = new Thickness(0), HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; Children.Add(cell); SetColumn(cell, j); SetRow(cell, i); } } }