我想知道如何在UniformGrid for WPF中显示网格线。我知道在普通网格中设置网格线很容易,但我发现UniformGrid不能像普通网格那样设置网格线。为代码和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
答案 0 :(得分:0)
你总是可以在UniformGrid的顶部放置一个ShowGridLines设置为True的Grid。
如下所示:
<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>
假设您有一个主网格,您想要放置您的uniformgrid和一个带有线条的网格,示例代码如下:
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作为方法参数传递。