我有一个StockModule和PurchaseModule。当我收到新购买的商品时,会将其添加到数据库中的“库存模型”中。
我的问题是我的StockModule的ViewModel中有一个ObservableCollection stockList,添加股票的控制器在PurchaseModule中。我不知道该如何告诉StockModule中的ViewVodel我已经更新了stockList。
我正在统一和WPF和棱镜中使用数据绑定。在一个模块中更新视图很容易,但是我还没有找到在两个模块之间进行更新的方法。
初始化PurchaseModule时,是否应该传递对StockController的引用?我不想这样做,因为这似乎太紧密了。
您应该使用MarlonMediator
或EventAggregator
Prism之类的东西来实现ViewModel或组件之间的通信(它们可以在单个模块中,也可以在多个模块中)。
在您的情况下,您的ViewModelPurchaseModule
将StockAdded
通过Mediator / EventAggregator发布消息(例如),然后您的ViewModelStockModule
将侦听此消息并更新其数据并影响视图。
有关Mediator的更多信息:http : //marlongrech.wordpress.com/2009/04/16/mediator-v2-for-mvvm-wpf-and-silverlight-applications/
棱镜EventAggregator:http : //msdn.microsoft.com/zh-cn/library/ff921122.aspx
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句