You are on the right track.
The parent model would naturally contain a list of child models, e.g. a customer having multiple orders.
When ParentViewModel is created and loaded by a third-party, it is passed a ParentModel. Then the ParentViewModel will:
- Assign the
ParentModelto a local variable - Create a
ChildViewModelfor eachChildModelby passing the
ChildModelto theChildViewModelconstructor - Add each of those
ChildViewModelsto a list
By the way, you want
public List<ChildViewModel> ChildViewModels { get; set; }
to be
public ObservableCollection<ChildViewModel> ChildViewModels { get; set; }