我正在学习如何使用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