C# 获取网格面板中的单元数并访问它们
有可能知道网格中的单元数吗?我是否可以通过某种方式访问它们,以便为它们中的每一个附加一个子项 例如,如果我有一个2行x 3列的网格:C# 获取网格面板中的单元数并访问它们,c#,wpf,grid,C#,Wpf,Grid,有可能知道网格中的单元数吗?我是否可以通过某种方式访问它们,以便为它们中的每一个附加一个子项 例如,如果我有一个2行x 3列的网格: <Grid Name="myGrid"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid Grid.Row="0">
<Grid Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
</Grid>
</Grid>
我不知道如何实现这一点(如果可能)。行定义和列定义属于网格,它们彼此独立 修复xaml定义以生成2x3网格(而不是当前的2x1、1x3、1x3网格) 如果所有单元格大小相同,则可以使用UniformGrid:
<UniformGrid Name="myGrid" Rows="2" Columns="3"/>
for(int r = 0; r < myGrid.Rows; r++)
{
for(int c = 0; c < myGrid.Columns; c++)
{
var B = new Border { Margin = new Thickness(5), Background = Brushes.Green };
myGrid.Children.Add(B);
}
}
for(int r=0;r
@mm8抱歉,恐怕我不知道您的意思在给定的xaml示例中有3个
元素,而不是一个有2行3列的元素。。。好啊事实上,我是WPF的新手,我是通过这种方式学习的。但也许按照你说的方式做会更好?
<Grid Name="myGrid">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
</Grid>
for(int r = 0; r < myGrid.RowDefinitions.Count; r++)
{
for(int c = 0; c < myGrid.ColumnDefinitions.Count; c++)
{
var B = new Border { Margin = new Thickness(5), Background = Brushes.Green };
B.SetValue(Grid.RowProperty, r);
B.SetValue(Grid.ColumnProperty, c);
myGrid.Children.Add(B);
}
}
<UniformGrid Name="myGrid" Rows="2" Columns="3"/>
for(int r = 0; r < myGrid.Rows; r++)
{
for(int c = 0; c < myGrid.Columns; c++)
{
var B = new Border { Margin = new Thickness(5), Background = Brushes.Green };
myGrid.Children.Add(B);
}
}