Prism提供模型来查看模型混淆

时间:2011-06-20 14:45:45

标签: wpf mvvm unity-container prism ioc-container

我目前有一个相当直接的应用程序,我第一次尝试使用Josh Smiths类的MVVM,并且一直在考虑使用Unity将其移植到Prism v4。但是,当我们将模型数据在不同模块中分离时,我似乎对如何将模型数据实际传递给相关视图模型感到困惑。

应用程序本身有一个Document对象集合,每个对象包含一个参考第三方视频API实例的引用和一组用于描述和注释视频的元数据。

我已将视频处理元素编写到一个单独的模块中,该模块需要来自IVideoService的数据。同样,文档将在不同的模块中由IDocumentservice提供,IDocumentservice将返回文档集,所选文档等。

我引用了Unity中IDocumentService的一个实例,因此任何模块都可以解析它。但是,当我正在查看的文档发生更改时,我看不出如何提取相关的IVideoService以供显示。如果可能的话,我不想在视频模块中包含文档模块的任何依赖项,因此我假设我只是注册了一个IVideoService实例并发布了一些刷新事件..所以视频模块的视图会更新。

但是,如果我能够同时显示两个或更多文档,那么该解决方案将无效。

在我之前的非棱镜应用程序中,我的viewmodels有一个层次结构,它反映了模型层次结构,所有内容都是使用绑定和数据窗口完成的。

这似乎不是棱镜中的方法,每个模块初始化并声明它应该出现在哪里。看看各种演示应用程序和代码并没有清除它,所以我怀疑有一些基本的我误解。

任何启示都赞赏!

此致

1 个答案:

答案 0 :(得分:0)

当正在查看的文档发生变化时,如何举办活动?该事件可以将相关的IVideoService作为事件参数的一部分传递。