You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin Forms:修改Grid中控件的位置与跨度

直接修改Grid附加属性即可,无需移除/添加控件

当然有更高效的方法!你完全不用通过grd.Children.Remove再Add的方式折腾——WPF里的Grid.Row、Grid.RowSpan这类属性都是附加属性,可以直接在C#代码里通过静态方法修改,Grid会自动更新布局。

举个具体的例子,假设你要调整的是名为myLabel的Label控件:

// 设置控件所在的行
Grid.SetRow(myLabel, 1);
// 设置控件跨占的行数
Grid.SetRowSpan(myLabel, 2);

如果需要调整列相关的位置和跨度,用法完全一致:

// 设置所在列
Grid.SetColumn(myLabel, 0);
// 设置列跨度
Grid.SetColumnSpan(myLabel, 3);

要是你需要读取当前的属性值,也可以用对应的Get方法:

int currentRow = Grid.GetRow(myLabel);
int currentRowSpan = Grid.GetRowSpan(myLabel);

这种方式的优势很明显:不用破坏控件的现有状态(比如绑定的事件、数据上下文都能保留),而且布局更新更高效,完全是修改Grid布局的标准做法。

内容的提问来源于stack exchange,提问作者LuizLoyola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:05:57