如何使用MVVM模式在已开发的Silverlight 4项目中使用PRISM 4?

问题描述

| 我是棱镜模式的新手。我们已经使用MVVM模式开发了3个Silverlight 4项目。现在,我们要将这三个项目合并为一个项目。我想使用Prism 4来做到这一点。 我必须将值从另一个视图模型传递给一个视图模型类的构造函数,并与其他视图模型类方法进行通信。 请告诉我使用棱镜的方法。     

解决方法

        长话短说 : 棱镜不是模式,它是一个库。 查找术语:\“ BootStrapper \”并在\“ container \”(也称为Unity中的UnityContainer)中注册类型和实例。这通常是在Bootstrapper的重写ConfigureContainer方法中完成的。从现在开始,您可以在其中“告诉”容器它是什么类型的容器。 稍后,您可以在“解析”其他类型时重用那些已经定义(并且经常实例化)的类型。该容器足够智能,可以解析您通过ViewModel的构造函数传递的所有已知依赖项。 很抱歉,但是我目前无法提供我旅行中的任何示例。     ,        我已经使用MEF和Prism做到了这一点。我确定您也可以使用Unity进行此操作,但是我以前从未使用过它,因此无法告诉您它是如何完成的。关于模块化和EventAggregation的Prism快速入门是一个很好的起点。 使用MEF,我将使用
[ImportingConstructor]
属性通过构造函数将值传递给ViewModel,并使用
EventAggregator
在松散耦合的ViewModels之间传递其他数据。