我的演示應用程序在WPF項目中實現了MVVM模式。在ViewModel經由服務代理(代理)這樣調用遠程web服務:在WPF應用程序中調用webservice後,屬性爲NULL
proxy.GetProjectList((sender, e) => this.ProjectList, username, password);
ProjectList
是在視圖模型中定義的屬性。它包含一組CProject
對象。該視圖綁定到此屬性以顯示項目名稱。基本上這工作正常。
不過,我得到一個NullReferenceException
如果我添加下面的if語句:
proxy.GetProjectList((sender, e) => this.ProjectList = e.Result, username, password);
if (ProjectList.Length > 0) doSomething();
調試應用表明,該ProjectList
屬性是null
的Web服務調用後。我只是不知道爲什麼。
的Web服務調用上面實現如下:
public void GetProjectList(EventHandler<getProjectListCompletedEventArgs> callback, string username, string password) {
proxy.getProjectListCompleted += callback;
proxy.getProjectListAsync(username, password);
}
在調用webservice之前是'ProjectList'' null'嗎? –
是的。該屬性最初通過調用webservice進行設置。有趣的是:綁定到'ProjectList'的UI中的控件被正確填充。 –