【发布时间】:2014-01-02 16:46:45
【问题描述】:
我有一个 MVVM 项目,其中主视图(“View1”)有一个名为“保存”的按钮和具有模型 emp 绑定的列表框控件。
视图模型 (ViewModel1) 实现了 inotifypropertychanged,它具有 SavedButtonCommand 绑定到 View1 的保存按钮并将记录保存到 SavedEMp。在 View1 中有一个按钮“下一步”,它进入“View2”页面。View2 页面有 ViewModel2,它有 SaveAgain 按钮。并且 viewmodel2 绑定到 SaveAgainButtonCommand 并且它还将记录保存到名为 SavedEmp 的 emp 记录的 localdb 中。
当语句 RaisePropertyChanged("SavedEmpDataSoruce") 被执行并且 observablecollection "SavedEmpDataSoruce" 绑定到这个列表框时,View1 列表框被刷新。因为这两个在 View1 中保存按钮之后,每当语句 RaisePropertyChanged("SavedEmpDataSoruce") 获取执行它正在刷新数据。
但是当用户从 View2 回到 View1 时,View1 中的列表框不会用 View2 保存的 emp 记录的数据进行刷新。
private ObservableCollection<Emp> _SavedEmp;
public ObservableCollection<Emp> SavedEmp
{
get
{
if(_SavedEmp == null)
{
_SavedEmp = Emp.GetSavedEmps();
}
return _SavedEmp;
}
set
{
this._SavedEmp = value;
RaisePropertyChanged("SavedEmp");
}
}
当再次从 View2 移动到 View1 时,有没有办法刷新列表框数据?
【问题讨论】:
标签: c# windows-phone-7 mvvm windows-phone-8 windows-phone