我在激活ViewModel方面遇到了一些麻烦。 那种情况:
如果field为null,我的ViewModel具有从internet加载数据的属性:
private string _content;
public string Content {
get {
if (String.IsNullOrEmpty(_content)) {
LoadBody();
_content = Localization.AppResources.LOADING;
}
return _content;
}
set {
if (value != _content) {
_content = value;
NotifyOfPropertyChange("Content");
}
}
}
private void LoadBody() {
try {
WebClient wc = new WebClient();
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
wc.DownloadStringAsync(new Uri(String.Format("http://www.diffbot.com/api/article?token={0}&summary=1&url={1}", diffbotToken, this._note.url)));
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
在加载完成之前,我按下Windows按钮。我看到了我的主屏幕
然后按“返回”按钮。但在OnActivate方法执行后,我的应用程序崩溃而没有任何消息。
任何人都可以帮助我吗?我做错了什么?
答案 0 :(得分:0)
我忘记从班级中删除[DataMember]属性。删除所有操作后。