1

WPFのUniformGridでグリッド線を表示する方法を知りたいです。通常の Grid では Grid ラインを設定するのは簡単ですが、UniformGrid では通常の Grid のように Grid ラインを設定することはできません。プログラミングをより柔軟にしたいので、コードと xaml の両方について簡単な例を示すのは良いことです。ありがとう!

      // LOGIN PAGE
     //gameType is input by users.If gameType =3, it will form 3x3 uniform grid in GAMEPLAY PAGE
     GamePlay main = new GamePlay(gameType, playerNum); 
     App.Current.MainWindow = main;
     this.Close();
     main.Show();

     // GAMEPLAY PAGE
     // Form the required grid, I can form the grid correctly, but I want grid line to make it more clear
4

1 に答える 1

-1

ShowGridLines が True に設定された Grid を UniformGrid の上にいつでも配置できます。

以下のようなもの:

<Grid x:Name="mainGrid">
    <UniformGrid Rows="4" Columns="4">

    </UniformGrid>
    <Grid ShowGridLines="True">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
    </Grid>
</Grid>

ユニフォーム グリッドを配置するメイン グリッドと線のあるグリッドがあると仮定すると、サンプル コードは次のようになります。

    int rows = 4;
    int cols = 4;

    var uniformGird = new UniformGrid() {Rows = rows, Columns = cols};
    mainGrid.Children.Add(uniformGird);

    var grid = new Grid()
                    {
                        ShowGridLines = true
                    };
    for (int i = 0; i < rows; i++)
    {
        grid.RowDefinitions.Add(new RowDefinition());
    }
    for (int i = 0; i < cols; i++)
    {
        grid.ColumnDefinitions.Add(new ColumnDefinition());
    }

    mainGrid.Children.Add(grid);

上記のコードをメソッドでラップし、rows、cols をメソッド パラメーターとして渡すことができます。

于 2012-08-13T17:04:46.090 に答える