【发布时间】:2013-01-29 06:43:11
【问题描述】:
我正在尝试测试以 MVM 模式开发的 wpf 应用程序。所以它包括IregionManager,事件聚合器等。我创建了一个新项目,在这里我想创建一个ViewModel对象,它的构造函数采用Iregionmanager。我的问题是如何在我的测试类中实例化 IRegionManager 并创建一个 ViewModel 对象以便我可以访问它的方法?
【问题讨论】:
我正在尝试测试以 MVM 模式开发的 wpf 应用程序。所以它包括IregionManager,事件聚合器等。我创建了一个新项目,在这里我想创建一个ViewModel对象,它的构造函数采用Iregionmanager。我的问题是如何在我的测试类中实例化 IRegionManager 并创建一个 ViewModel 对象以便我可以访问它的方法?
【问题讨论】:
为什么您的 ViewModel 需要 IRegionManager 作为构造函数参数?您是否了解 Prism 的一般概念,例如 Bootstrapper、将行为附加到区域,以及在更特殊的情况下,区域适配器?
但是,要回答您的问题,如何实例化 ViewModel:使用 MEF 的 Prism 中的一般实例化模式:
Bootstrapper 在程序启动时运行,其中包括创建行为 并将它们附加到外壳窗口中的区域。称为AutoPopulateExportedViewsBehavior 的行为会导入具有特定属性的所有视图,即 ViewExport 属性。 View 在其构造函数中导入 ViewModel 实例,ViewModel 导入 Model。
我发现 Prism 架构入门非常具有挑战性。但是,如果您想使用它,就无法真正理解这些概念。
【讨论】: