我正在學習如何使用Caliburn.Micro作爲WPF應用程序的MVVM框架。在視圖X中,我想使用ActivateItem顯示另一個視圖Y.在這個視圖中,當用戶點擊一個按鈕時,我需要顯示另一個視圖Z作爲對話框。所以我需要在視圖Y中的WindowManager的一個實例。Caliburn.Micro activateitem和Ioc注入IWindowManager
這意味着windowmanager必須注入Y的viewmodel,所以我可以用它來調用windowManager.ShowDialog()來查看Z. 所以我是認爲我應該將一個構造函數添加到接受IWindowManager參數的Y的viewmodel中。
公共YViewModel(IWindowManager窗口管理器){...}
能自動Caliburn.Micro注入viewmanager的實例爲YViewModel?沒有windowmanager我會寫
ActivateItem(new YViewModel());
但是,當我需要windowmanager時,這不起作用...當YViewModel需要windowmanager的一個實例時,我想如何編寫ActivateItem?
目前我解決它通過從構造參數除去IWindowManager和通過將碼在構造: _windowManager = IoC.Get(); –
rekna
2011-02-19 08:56:38