Ich versuche, das viewModel (VM) einzurichten, um die Logik zu enthalten, die Daten von einem Webdienst zu erhalten und dann die Daten in das Modell zu laden, die dann über das ViewModel in der Ansicht angezeigt werden würde.
ViewModel
public StudentViewModel : INotifyPropertyChanged
{
private List<Student> _students;
public List<Student> Student
{
get{.....}
set{.....}
}
public StudentViewModel()
{
//call webservice and load the data into Students
}
}
Siehe
den Datenkontext auf das oben definierte viewModel setzen
<UserControl DataContext=..... />
Problem
Weil ich den Webdienst aus dem ViewModel ctor aufrufe, denke ich, dass der VisualStudio-Designer einen Anfall wirft. Nun, ich könnte eine Load-Methode auf meine VM von der Ansicht PageLoad-Methode aufrufen, aber ich frage mich, ob es einen besseren Weg, um dieses Problem zu behandeln ist?
Grund
Der Grund dafür, dass ich Schüler in den CTOR lade, ist, dass ich die Liste der Schüler beim ersten Laden der Ansicht anzeigen möchte.