C# 如何将控件的x:Name传递给另一个类并为属性设置值
我有一个C# 如何将控件的x:Name传递给另一个类并为属性设置值,c#,xamarin.forms,C#,Xamarin.forms,我有一个Entry,它有一个x:Name,我想在另一个类中为它设置文本,我想在另一个类中使用text属性。有可能这样做吗?我已经尝试了这段代码,但它不起作用,调用了方法Check(),但没有应用文本 控制类: public Entry MyEntry { //entrycontrol is the x:Name of the Entry get { return entrycontrol; } } publi
Entry
,它有一个x:Name
,我想在另一个类中为它设置文本,我想在另一个类中使用text
属性。有可能这样做吗?我已经尝试了这段代码,但它不起作用,调用了方法Check()
,但没有应用文本
控制类:
public Entry MyEntry
{
//entrycontrol is the x:Name of the Entry
get { return entrycontrol; }
}
public Control(){
InitializeComponent();
var vr = new MyMethods();
vr.Check();
}
MyMethods类:
public async Task Check()
{
var page = new Control();
page.MyEntry.Text = "Hello World";
}
在您的情况下,您可以在方法检查中创建一个新页面,而不是原始控件 您需要将当前控件传递给类
public class MyMethods
{
Control CurrentControl;
public MyMethods(Control currentControl)
{
CurrentControl = currentControl;
}
public async Task Check()
{
Device.BeginInvokeOnMainThread(()=> {
Control.MyEntry.Text = "Hello World";
});
}
}
var vr = new MyMethods(this);
vr.Check();