我正在编写一个简单的益智游戏程序 - 除了一个单元格之外,所有单元格都充满了按钮,您必须通过使用唯一一个空单元格移动它们来正确排序它们。第一个版本是一个 3x3 网格,有 8 个按钮 + 一个不可见。但是,现在我想让用户更改行数和列数。我需要使用滑块来操纵高度和宽度。不幸的是,我不知道如何在运行时操纵网格。这是我目前所拥有的屏幕截图:
问问题
7536 次
1 回答
2
除非 WPF 与 Silverlight 有很大不同,否则您不能仅以编程方式更改列/网格定义吗?
(只是警告,在记事本中写这个,因为我没有视觉工作室来检查,所以我只是凭记忆)
myGrid.Columns.Clear();
myGrid.Rows.Clear();
int buttonNumber = 0;
double buttonWidth = GridWidth / numberOfColumns;
double buttonHeight = GridHeight / numberOfRows;
for (int columnNumber = 0; columnNumber < numberOfColumns; columnNumber++)
{
var column = new ColumnDefinition();
myGrid.Columns.Add(column);
for (int rowNumber = 0; rowNumber < numberOfRows; rowNumber++)
{
var row = new RowDefinition();
myGrid.Rows.Add(row);
var button = new Button();
button.Content = ++buttonNumber;
button.Width = buttonWidth;
button.Height = buttonHeight;
Grid.SetColumn(button, columnNumber);
Grid.SetRow(button, rowNumber);
}
}
于 2012-06-02T14:09:38.047 回答