BadCats
@BadCats

Создать Grid программно в wpf?

Нужно создать Grid размером 12*3 - т.е в длину 12 и в высоту 3
и в каждую ячейку присвоить кнопку
Делал так:
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            RowDefinitionCollection rd = MainGrid.RowDefinitions;
            ColumnDefinitionCollection cd = MainGrid.ColumnDefinitions;
            for (int i = 0; i < 3; i++)
            {
                rd.Add(new RowDefinition());
                for (int j = 0; j < 12; j++)
                {
                  cd.Add(new ColumnDefinition());
                }
                
                Button b = new Button();
                b.Name = "Button"+i;
              
            }

В Window_Loaded, в циклах создавал строки и столбцы и кнопки - меня имя созданной кнопки
Но при запуске приложения не появилось вообще ни одной кнопки - это во-первых и во-вторых, как мне теперь через код назначит в цикле каждой кнопке соответствующую ячейку?
MainGrid - имя которое я дал Grid присутствующему на форме
  • Вопрос задан
  • 706 просмотров
Решения вопроса 1
andrewpianykh
@andrewpianykh
RowDefinitionCollection rd = MainGrid.RowDefinitions;
ColumnDefinitionCollection cd = MainGrid.ColumnDefinitions;
for (int i = 0; i < 3; i++)
{
    rd.Add(new RowDefinition());

    for (int j = 0; j < 12; j++)
    {
      cd.Add(new ColumnDefinition());
      Button b = new Button();
      b.Name = "Button"+i;
      MainGrid.Children.Add(b);
      Grid.SetColumn(b, j);
      Grid.SetRow(b, i);
    } 
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы