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();