我正在构建我的第一个Silverlight应用程序。这个应用程序有几种形式,允许用户保存客户,供应商,员工等。每个页面有一个父控件(带有相应的视图模型)和一个或多个子控件(每个控件都有一个自己的视图模型)。例如,客户表单将客户用户控件作为父级,并将地址用户控件,电话号码用户控件作为子用户控件放在表单上。现在,当用户点击保存按钮时,父母“客户”负责确保为客户,地址和电话保存数据。在幕后,我可以在客户,地址和电话号码视图模型之间共享一个datacontext实例。所以当点击保存按钮时,客户用户控件可以保存所有三个数据(因为它的datacontext也有Address和PhoneNumber实体)。在视图模型之间共享上下文
我想知道如何将这个datacontext从客户传递给地址和电话号码?一种方法可能是将datacontext传递到Address和Phone number视图模型的各自构造函数中,但接下来我需要确保Address和PhoneNumber构造函数仅在Customer viewodel创建后才被调用。能有更好的解决方案吗? MEF是否提供更好的解决方案?