我正在为使用Prism的大型数据驱动Silverlight应用程序开发框架。我正在为应用程序的不同部分创建多个模块,但所有模块都需要从同一个REST Web服务访问数据。所以我最初的计划是为数据检索创建一个单独的模块,然后使用EventAggregator将结果传递给订阅结果事件的其他模块。由于没有View,数据模块将没有ViewModel。
所以有几个问题: 1.我描述这种方式的好方法是什么 - 一个模块为其他模块提供信息? 2.如果没有ViewModel,我可以在数据模块中的哪个位置发布事件?
非常感谢任何提示或建议。
答案 0 :(得分:1)
您可以通过注入EA来发布任何组件中的事件。在这种情况下,您可能会在数据检索完成后发布事件。
但是,这可能不是最好的方法。我要采取的是为WebService创建一个接口并在容器中注册它。不同的模块可以从容器中获取服务实现并自行请求数据,而不依赖于“馈送通知”。
有很多主题在Prism forums at Codeplex中讨论这个问题。