У меня есть пользовательская форма ввода данных, которая привязана к ViewModel (VM).Предполагается, что в форме ввода данных отображаются поля, в которые пользователь может ввести данные сотрудника, т.е. 1 сотрудник на форму.EmployeeViewModel загружает кучу данных из веб-сервисов, таких как один сотрудник (для обновлений) и множество коллекций.Эти коллекции состоят из «Отделов», например, Сотрудник принадлежит к одному из многих Отделов, «Супервизоров», например, Сотрудник назначен Супервайзеру и так далее.Итак, на конструкторе моей виртуальной машины я извлекаю FetchData () из службы и должен ждать, пока она не будет завершена.
Итак, на OnLoadComplete я назначаю данные, возвращенные Employee, которые являются свойством моей виртуальной машины, итакже загрузите все коллекции, такие как Отделы, для ComboBox.
Другие свойства на виртуальной машине отображают исключения NullException при загрузке b / c, они выглядят так:
private Department_selectedDepartment;
public Department SelectedDepartment
{
get
{ return this.Employee.Department; } **// where error occurs**
set
{
_selectedDepartment = value;
this.Employee.Department = value;
OnPropertyChanged("SelectedDepartment");
}
}
В моем XAML у меня есть коллекции и их "Выбранные ..." -части как:
<ComboBox
ItemsSource="{Binding Departments, Mode=OneWay}"
SelectedItem="{Binding SelectedDepartment, Mode=TwoWay}" />
Когда получатель SelectedDepartment нажимает при загрузке виртуальной машины, он говорит, что this.Employee "null, поэтому я получаю исключение.
Как другиеделать это, то есть ждать, пока сотрудник загружен?