我有一个使用MEF和Caliburn.Micro的应用程序。主视图有画布和按钮。单击该按钮时,应创建一个新窗口小部件并将其显示在画布中。在这种情况下,小部件是具有视图和视图模型的UserControl。 用户可以将0-N这些小部件添加到画布中。
我在MEF目录中有小部件,但我似乎无法找到如何在Caliburn.Micro中连接它的示例。
当按下该按钮时,我在主视图模型中写下了什么想法?
答案 0 :(得分:1)
您应该拥有Canvas
绑定的视图模型集合。事实上,如果您在Caliburn.Micro中使用Conductor
集合类型(查看Conductor<T>.Collection.AllActive
),那么它已经有一个Items
集合。
单击该按钮时,主视图模型动词(方法)可以将新视图模型添加到Items
集合。因此,您的主视图模型需要注入视图模型工厂才能创建这些子视图模型。