我是Prism模式的新手。我们使用MVVM模式开发了3个Silverlight 4项目。现在我们想将这3个项目合并为一个项目。我想用Prism 4来做这件事。
我必须从另一个viewmodel向viewmodel类的构造函数传递值,并与其他viewmodel类方法进行通信。
请告诉我使用Prism做到这一点的方法。
答案 0 :(得分:0)
长话短说:
棱镜不是一种模式,它是一个图书馆。
查找术语:“BootStrapper”并在“容器”(即Prism中的UnityContainer)中注册类型和实例。这通常在Bootstrapper的覆盖ConfigureContainer方法中完成。在那里,你“告诉”容器从现在起将要知道的类型是什么。
对不起,但我目前无法提供任何我正在旅行的例子。
答案 1 :(得分:0)
我使用MEF和Prism完成了这项工作。我相信你也可以用Unity做到这一点,但我之前没有用过,所以不能告诉你它是如何完成的。 Modularity和EventAggregation上的Prism Quickstarts是一个很好的起点。
使用MEF,我会使用[ImportingConstructor]
属性通过构造函数将值传递给ViewModel,并使用EventAggregator
在松散耦合的ViewModel之间传递其他数据。