不是从MainPage类编辑XAML文本框

时间:2012-11-09 18:45:33

标签: c# xaml textbox windows-phone

我有MainPage类,我可以使用此代码编辑XAML文本框的内容

box1.Text = "";

但是,尝试从另一个类编辑文本框时,以下代码将无法正常工作

MainPage.box1.Text = "";

错误是“非静态字段,方法或属性'class.MainPage.box1'需要对象引用 我尝试过所有的东西,比如制作静态函数和在另一个类中创建新的MainPage对象,但没有任何工作

2 个答案:

答案 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 = "";