当我在XAML时,说我有2个列定义:
<Grid.ColumnDefinition>
<ColumnDefinition>
<ColumnDefinition>
</Grid.ColumnDefinition>
我想在Code中的第0位添加一个额外列。但是当我添加列时,它会自动嵌入第二个位置列。
答案 0 :(得分:1)
您需要掌握网格,而不是插入列定义而不是“添加”。
Grid layoutRoot = new Grid();
layoutRoot.ColumnDefinitions.Insert(0, new ColumnDefinition() { Width = new GridLength(0, GridUnitType.Star) });
答案 1 :(得分:0)
我认为你编写的代码如下,我认为是正确的。
Grid1.ColumnDefinitions.Insert(0, new ColumnDefinition());
还有一件事你需要做的就是加一个网格中的孩子,或者这样,旧的项目将放在第一列;所以效果就像你刚才看到的那样。
foreach (UIElement item in Grid1.Children)
{
var columnIndex = Grid.GetColumn(item);
Grid.SetColumn(item, columnIndex + 1);
}
答案 2 :(得分:0)
这是实现这一目标的简单方法。
Maingrid.ColumnDefinitions.Insert(0,new ColumnDefinition());