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

时间:2011-05-30 15:12:33

标签: silverlight silverlight-4.0 mvvm prism

我是Prism模式的新手。我们使用MVVM模式开发了3个Silverlight 4项目。现在我们想将这3个项目合并为一个项目。我想用Prism 4来做这件事。

我必须从另一个viewmodel向viewmodel类的构造函数传递值,并与其他viewmodel类方法进行通信。

请告诉我使用Prism做到这一点的方法。

2 个答案:

答案 0 :(得分:0)

长话短说:

  • 棱镜不是一种模式,它是一个图书馆。

  • 查找术语:“BootStrapper”并在“容器”(即Prism中的UnityContainer)中注册类型和实例。这通常在Bootstrapper的覆盖ConfigureContainer方法中完成。在那里,你“告诉”容器从现在起将要知道的类型是什么。

  • 稍后,您可以在“解析”其他类型时重复使用那些已定义(通常是实例化)的类型。该容器足够智能,可以解析您通过ViewModel的构造函数传递的所有已知依赖项。

对不起,但我目前无法提供任何我正在旅行的例子。

答案 1 :(得分:0)

我使用MEF和Prism完成了这项工作。我相信你也可以用Unity做到这一点,但我之前没有用过,所以不能告诉你它是如何完成的。 Modularity和EventAggregation上的Prism Quickstarts是一个很好的起点。

使用MEF,我会使用[ImportingConstructor]属性通过构造函数将值传递给ViewModel,并使用EventAggregator在松散耦合的ViewModel之间传递其他数据。