Caliburn.Micro使用MEF在代码中构建视图/视图模型

时间:2014-03-29 20:50:39

标签: mef caliburn.micro

我有一个使用MEF和Caliburn.Micro的应用程序。主视图有画布和按钮。单击该按钮时,应创建一个新窗口小部件并将其显示在画布中。在这种情况下,小部件是具有视图和视图模型的UserControl。 用户可以将0-N这些小部件添加到画布中。

我在MEF目录中有小部件,但我似乎无法找到如何在Caliburn.Micro中连接它的示例。

当按下该按钮时,我在主视图模型中写下了什么想法?

1 个答案:

答案 0 :(得分:1)

您应该拥有Canvas绑定的视图模型集合。事实上,如果您在Caliburn.Micro中使用Conductor集合类型(查看Conductor<T>.Collection.AllActive),那么它已经有一个Items集合。

单击该按钮时,主视图模型动词(方法)可以将新视图模型添加到Items集合。因此,您的主视图模型需要注入视图模型工厂才能创建这些子视图模型。