0

このコードを使用してXAMLテキストボックスのコンテンツを編集できるMainPageクラスがあります

box1.Text = "";

ただし、別のクラスのテキストボックスを編集しようとすると、次のコードは機能しません

MainPage.box1.Text = "";

エラーは「非静的フィールド、メソッド、またはプロパティにオブジェクト参照が必要です'class.MainPage.box1'静的関数の作成や他のクラスでの新しいMainPageオブジェクトの作成などすべてを試しましたが、何も機能しませんでした

4

2 に答える 2

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=""
}
于 2012-11-09T19:08:01.030 に答える
0

MainPageオブジェクト インスタンスなしでクラスの静的フィールドにアクセスしようとしています。

MainPage次のようにアクセスするには、クラスのインスタンスが必要です。

MainPage myPage = new MainPage();
myPage.box1.Text = "";
于 2012-11-09T18:50:22.770 に答える