繁体   English   中英

如何通过后面的代码在另一列的前面添加列?

[英]How to Add Column infront of another column through Code Behind?

当我使用XAML时,说我有2列定义:

<Grid.ColumnDefinition>
    <ColumnDefinition>
    <ColumnDefinition>
</Grid.ColumnDefinition>

我想在代码后面的第0个位置添加一个额外的列。 但是,当我添加列时,它会自动嵌入为第二个Positon列。

您需要掌握自己的网格,而不是将其插入columndefinitions中,而不是“ Add”中。

 Grid layoutRoot = new Grid();
 layoutRoot.ColumnDefinitions.Insert(0, new ColumnDefinition() { Width = new GridLength(0, GridUnitType.Star) });

我认为您正在编码,但我认为是正确的。

Grid1.ColumnDefinitions.Insert(0, new ColumnDefinition());

您还需要做一件事,就是像这样向网格中的孩子添加一个,否则旧项目将放在第一列中; 因此效果就像您刚才看到的一样。

foreach (UIElement item in Grid1.Children)
{
    var columnIndex = Grid.GetColumn(item);
    Grid.SetColumn(item, columnIndex + 1);
}

这是实现此目的的简单方法。

Maingrid.ColumnDefinitions.Insert(0,new ColumnDefinition());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM