我有MainPage類,我可以使用此代碼編輯XAML文本不
box1.Text = "";
編輯XAML文本框的內容
然而,試圖從另一個類下面的代碼會做編輯的文本框不行
MainPage.box1.Text = "";
的錯誤是「需要的對象引用的非靜態字段,方法或屬性‘class.MainPage.box1’ 我已經試過一切都像做靜態函數和創建新對象的MainPage其他clas s但沒有任何工作
我有MainPage類,我可以使用此代碼編輯XAML文本不
box1.Text = "";
編輯XAML文本框的內容
然而,試圖從另一個類下面的代碼會做編輯的文本框不行
MainPage.box1.Text = "";
的錯誤是「需要的對象引用的非靜態字段,方法或屬性‘class.MainPage.box1’ 我已經試過一切都像做靜態函數和創建新對象的MainPage其他clas s但沒有任何工作
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=""
}
您正試圖訪問沒有對象實例的MainPage
類的靜態字段。
你需要的MainPage
類的實例來訪問它是這樣的:
MainPage myPage = new MainPage();
myPage.box1.Text = "";
我試過了,應用程序崩潰,無效的跨線程訪問。將代碼放入Deployment.Current.Dispatcher.BeginInvoke(()=>應用程序不會崩潰,但不編輯文本框 – Alex
在示例代碼中包含更多上下文可能會有所幫助。 –
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –
亞歷克斯,這是WPF還是Silverlight? – tempidope