我将尝试设置viewModel(VM)来包含处理从Web服务获取数据的逻辑,然后将数据加载到模型中,然后通过ViewModel向View公开模型。
ViewModel
public StudentViewModel : INotifyPropertyChanged
{
private List<Student> _students;
public List<Student> Student
{
get{.....}
set{.....}
}
public StudentViewModel()
{
//call webservice and load the data into Students
}
}
视图
将 data-context 设置为上面定义的 viewModel
<UserControl DataContext=..... />
问题
由于我在ViewModel的构造函数中调用了Web服务,我认为VisualStudio的设计器会出现问题。 现在,我可以从视图的PageLoad方法中调用VM上的Load方法,但我想知道是否有更好的方法来处理这个问题?
原因
我在CTOR中加载学生的原因是我想在视图首次加载时显示学生列表。