我有MainPage类,我可以使用此代码编辑XAML文本框的内容
box1.Text = "";
但是,尝试从另一个类编辑文本框时,以下代码将无法正常工作
MainPage.box1.Text = "";
错误是“非静态字段,方法或属性'class.MainPage.box1'需要对象引用 我尝试过所有的东西,比如制作静态函数和在另一个类中创建新的MainPage对象,但没有任何工作
答案 0 :(得分:2)
XAML文本框位于MainPage.xaml / .cs
中Textbox的值设置器位于某个X类中。
在下面的语句中出错的原因是,box1不是静态的,你需要一个MainPage的实例。
MainPage.box1.Text = "";
但不仅仅是任何实例。您需要当前实例。因此,类X中的方法需要接收MainPage.xaml.cs类的“THIS”实例,然后更改box1值。
函数调用:
X xobj=new X();
xobj.ChangeboxValue(this);
功能:
void ChangeboxValue(MainPage obj)
{
obj.box1.Text=""
}
答案 1 :(得分:0)
您正在尝试在没有对象实例的情况下访问MainPage
类的静态字段。
您需要MainPage
类的实例才能像这样访问它:
MainPage myPage = new MainPage();
myPage.box1.Text = "";