我正在構建我的第一個Silverlight應用程序。這個應用程序有幾種形式,允許用戶保存客戶,供應商,員工等。每個頁面有一個父控件(帶有相應的視圖模型)和一個或多個子控件(每個控件都有一個自己的視圖模型)。例如,客戶表單將客戶用戶控件作爲父級,並將地址用戶控件,電話號碼用戶控件作爲子用戶控件放在表單上。現在,當用戶點擊保存按鈕時,父母「客戶」負責確保爲客戶,地址和電話保存數據。在幕後,我可以在客戶,地址和電話號碼視圖模型之間共享一個datacontext實例。所以當點擊保存按鈕時,客戶用戶控件可以保存所有三個數據(因爲它的datacontext也有Address和PhoneNumber實體)。在視圖模型之間共享上下文
我想知道如何將這個datacontext從客戶傳遞給地址和電話號碼?一種方法可能是將datacontext傳遞到Address和Phone number視圖模型的各自構造函數中,但接下來我需要確保Address和PhoneNumber構造函數僅在Customer viewodel創建後才被調用。能有更好的解決方案嗎? MEF是否提供更好的解決方案?