ViewModel (VM)에 바인딩 된 사용자 지정 데이터 입력 폼이 있습니다. 데이터 입력 양식은 사용자가 직원 데이터 (예 : Form 당 1 명의 직원)를 입력 할 수있는 필드를 표시한다고 가정합니다. EmployeeViewModel은 Employee (업데이트 용) 및 많은 콜렉션과 같은 웹 서비스에서 많은 데이터를로드합니다. 이 컬렉션은 "부서"로 구성됩니다. 직원은 많은 부서 중 하나에 속합니다. "감독자", 예. 직원이 감독관에게 배정되는 식입니다. 따라서, 내 VM의 생성자에서 서비스의 FetchData()가 완료 될 때까지 기다려야합니다.내 ViewModel에 하나의 Entity with Child collection 속성을 어떻게로드해야합니까?
그래서 OnLoadComplete에서 반환 된 데이터를 내 VM의 속성 인 Employee에 할당하고 ComboBoxes의 Department와 같은 모든 컬렉션을로드합니다.
내 XAML에서private Department_selectedDepartment;
public Department SelectedDepartment
{
get
{ return this.Employee.Department; } **// where error occurs**
set
{
_selectedDepartment = value;
this.Employee.Department = value;
OnPropertyChanged("SelectedDepartment");
}
}
, 나는 컬렉션과 자신의 "선택한 ..."이 - 그래서 같은 부품 : 그들은 다음과 같이 C/B는 VM에
다른 특성은 부하에 NullExceptions 렌더링됩니다
<ComboBox
ItemsSource="{Binding Departments, Mode=OneWay}"
SelectedItem="{Binding SelectedDepartment, Mode=TwoWay}" />
SelectedDepartment의 게터가 VM가로드 명중, 내가 예외를 얻을 수 있도록 this.Employee는 "null 인 것을 말한다.
다른 때까지 기다려야 즉,이 일을하는 방법 직원이 적재 되었습니까?
이것은 최고의 대답이라고 생각합니다. 감사합니다! – user118190