如何在Silverlight中以编程方式填充网格?

5

我正在尝试在Silverlight中编程创建和填充一个网格。然而,尽管我努力了,所有的项目都默认为网格中的“0,0”位置。这是我的代码:

Grid holdingGrid = new Grid();
int row = 0;

for (int i = 0; i < 10; i++) {
   Expander expander = new Expander();
   holdingGrid.Children.Add(expander);
   Grid.SetRow(expander, row);
   Grid.SetColumn(expander, 0);
   row++;
}

但是这仍然会导致所有项目堆积在第一行和第一列。我做错了什么?

1
你为网格设置了行定义吗? - ginman
哈哈,就是这样。我添加了行定义,现在可以工作了。我简直不敢相信我居然忘记了! - TheEnigmaMachine
1个回答

6
Grid holdingGrid = new Grid();
int row = 0;

for (int i = 0; i < 10; i++) {
   Expander expander = new Expander();
   holdingGrid.RowDefinitions.Add(new RowDefinition());
   holdingGrid.Children.Add(expander);
   Grid.SetRow(expander, row);
   Grid.SetColumn(expander, 0);
   row++;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接