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

如何获取Xamarin.Forms中动态添加元素的引用

获取Xamarin.Forms中新增按钮的引用方法

有几种实用的方法可以获取这个按钮的引用,方便后续修改:

1. 提前创建变量保存引用(最推荐)

在添加按钮到布局前,先将按钮实例赋值给一个变量,后续直接通过这个变量操作即可,这是最直接且高效的方式:

f001content = new Xamarin.Forms.AbsoluteLayout();
// 先创建按钮实例并保存到变量
Button myButton = new Button
{
    Text = "Button",
    AutomationId = "MyButton",
};
// 将变量对应的按钮添加到布局
f001content.Children.Add(myButton, new Rectangle(0,0,100,40));

// 后续修改按钮属性,直接用myButton变量即可
myButton.Text = "修改后的按钮文本";
myButton.BackgroundColor = Color.Red;

2. 通过AutomationId查找引用

如果你已经按原代码添加了按钮,可以利用你设置的AutomationId属性,在布局的子元素集合中查找对应的按钮:

// 从AbsoluteLayout的子元素中筛选出符合条件的Button
Button myButton = f001content.Children
    .OfType<Button>()
    .FirstOrDefault(b => b.AutomationId == "MyButton");

if (myButton != null)
{
    // 找到按钮后进行修改操作
    myButton.Text = "通过AutomationId找到的按钮";
}

3. 通过子元素索引/位置获取引用

如果这个按钮是最后添加到布局的,可以直接取子元素集合的最后一项(注意类型转换):

Button myButton = f001content.Children.LastOrDefault() as Button;

if (myButton != null)
{
    // 执行修改操作
    myButton.IsEnabled = false;
}

这种方法的局限性是:如果后续再往布局中添加其他控件,最后一项就不再是这个按钮了,所以仅适合添加按钮后立即获取的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:05:18