MVVM从子节点到父节点的消息传递

时间:2012-04-27 06:59:08

标签: mvvm-light

是否可以从子视图模型中提升ObpertableCollection的属性? 我有一个子视图模型,它从父ViewModel在ObservableCollection中插入一个新项目,我需要在该集合上raisepropertychanged来刷新绑定到它的列表。 我需要的是在该列表中查看已添加的新项目。 谢谢

1 个答案:

答案 0 :(得分:-1)

您可以使用Messneging服务将Value从一个视图/ ViewModel / Class发送和注册到任何View / Viewmodel / Class。您可以使用,例如,您可以在发送和注册消息时使用令牌。

假设您必须将Message From ViewModel传递给ABCView,那么您可以像这样使用Messenging ..

对于Ex:

Messenger.Defalut.Send<ObservableCollection<string>>(obj,"ForAbcView");

在ABCView中你可以这样注册:

Messenger.Default.Register<ObservableCollection<string>>(this,"ForAbcView",(b)=>{ //Some Code });

使用令牌时,Messenger Sender只会查找具有相同令牌的Register。它只调用具有相同tocken的方法。

通过这种方式,您可以将收藏集发送到任何您想要的地方。