0

私は単純なパズル ゲームのプログラムを書いています。1 つのセルを除くすべてのセルがボタンで埋められており、1 つの空のセルだけを使用してボタンを移動させて、適切に並べ替える必要があります。最初のバージョンは、8 つのボタン + 1 つの非表示の 3x3 グリッドでした。ただし、ユーザーが行と列の数を変更できるようにしたいと考えています。高さと幅を操作するには、スライダーを使用する必要があります。残念ながら、実行時にグリッドを操作する方法がわかりません。現時点で私が持っているもののスクリーンショットは次のとおりです。スクリーンショット

4

1 に答える 1

2

WPFがSilverlightと大きく異なる場合を除いて、列/グリッドの定義をプログラムで変更することはできませんか?

(警告、これをメモ帳に書き込むのは、チェックするVisual Studioがないため、メモリを使用するだけです)

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 に答える