如何通过代码后置在另一列的前面添加列
本文关键字:一列 添加 前面 代码 何通过 | 更新日期: 2023-09-27 18:09:05
当我在XAML中,假设我有2个列定义:
<Grid.ColumnDefinition>
<ColumnDefinition>
<ColumnDefinition>
</Grid.ColumnDefinition>
我想在代码后面的第0位添加一个额外的列。但是当我添加列时,它会自动嵌入为第二个位置列。
你需要得到你的网格,然后插入到列定义,而不是'添加'。
Grid layoutRoot = new Grid();
layoutRoot.ColumnDefinitions.Insert(0, new ColumnDefinition() { Width = new GridLength(0, GridUnitType.Star) });
我认为你是编码如下,我认为是正确的。
Grid1.ColumnDefinitions.Insert(0, new ColumnDefinition());
还有一件事你需要做的是加上1的孩子在网格中像这样,否则,旧的项目将放在第一列;所以效果就像你刚才看到的。
foreach (UIElement item in Grid1.Children)
{
var columnIndex = Grid.GetColumn(item);
Grid.SetColumn(item, columnIndex + 1);
}
这是实现这一目标的简单方法。
Maingrid.ColumnDefinitions。Insert(0, new ColumnDefinition());