在后面的 C# 代码中设置网格列或网格行

Set grid column or grid row in C# code behind

我在 XAML 中设置了 ColumnDefinitions,例如:

<Grid x:Name="MainGrid"  Background="#FF256BD1">
<Grid.ColumnDefinitions>
 <ColumnDefinition Width="*"/>
 <ColumnDefinition Width="*"/>
 <ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>

...
</Grid>

在后面的代码中,我在 MainGrid 中添加了一个 StackPanel 作为 children,例如:

MainGrid.Children.Add(stackPanel);

如何像我们在 XAML 中所做的那样将此 stackPanel 放在后面代码的第一列中:Grid.Column="0"Grid.ColumnSpan="2"Grid.Row="1"

您可以使用 SetRowSetColumnSetColumnSpan 方法:

Grid.Children.Add(stackPanel);
Grid.SetRow(stackPanel, 1);
Grid.SetColumn(stackPanel, 0);
Grid.SetColumnSpan(stackPanel, 2);