時,我有一個傳統的MVVM的做法,因此,例如一個名爲是利用一種被稱爲「PatientManagementView」視圖「PatientManagementViewModel」視圖模型。一切都是使用MEF注入的,所以我不會自己創建任何實例。創建子視圖模型使用MEF
現在假設「PatientManagementViewModel」有一個屬性的患者,這是「PatientViewModel」的ObervableCollection。我現在做的打造「PatientViewModel」的一個實例,並通過所選擇的病人是這樣的:
var patientViewModel = _container.GetExportedValue<IPatientViewModel>();
patientViewModel.Patient = patient;
這工作,不過,我想知道,這是有道理的。這將是更好的給患者傳遞給構造函數,因爲「PatientViewModel」不能沒有病人存在:
var patientViewModel = new PatientViewModel(patient);
但我不能使用依賴注入。
所以現在的問題是:它是有意義的注入subviewmodel,或者我應該只注入主視圖模型,並實例所有subviewmodels沒有注入?
‘PatientManagementViewModel’有一個屬性的患者,這是一個ObervableCollection‘PatientViewModel’<=我認爲你應該重新考慮你的應用程序設計。 – Tokk 2011-03-02 12:25:18
你能解釋一下嗎?我看不出有什麼問題。 – 2011-03-02 13:18:45