我想尝试再次学习caliburn。前几节课很简单,但随着我的进步,事情变得复杂了,我无法独自解决。
我设计了一个应用程序,目的是涵盖大多数具有 ShellViewModel 类型Conductor<IScreen>
和一些实现 .Im 的 ChildViews的基础知识。我正在IScreen
使用 IOC 容器来组合应用程序中的 ViewModels 和相关资源。
其中一个孩子就像一个导航台,用户可以从中访问不同的子视图,并且这些子视图也支持导航到一个或两个其他视图。
当我寻找介绍屏幕和导体概念的示例时,所有这些示例都通过调用直接创建和激活视图模型ActivateItem(new ChildViewModel())
,可能是为了简单起见,但我无法理解如何将这些视图模型创建委托给 IOC 容器而不依赖它。
对于至少一两个屏幕,我可以通过构造函数注入,但是当有很多视图时,用户可以从任何给定视图导航并且每个视图都有自己的附加依赖项怎么办?
原谅初学者的愚蠢,谁能指出我正确的方向?