【发布时间】:2012-06-28 02:20:35
【问题描述】:
此 UI 由 Main.xaml 组成,其中包含一个导航框架,其中包含 (Person.xaml),因此涉及两个不同的视图模型。
我想在点击 Main.xaml 中的菜单时过滤数据网格的内容。
- 人物(显示全部)
- 50分以上
- 分数低于 50
我的方法是通过让 PersonViewModel 订阅从 MainViewModel 发送的特定消息来使用 MVVM 轻型消息传递。这可行,但有没有其他方法可以做到这一点(最佳实践)?
如果有更好的方法来解决这个问题,我不想为来自不同视图模型的 UI 元素需要通信的所有场景实现 MvvmLight 消息传递。
【问题讨论】:
-
在路由事件主干中的silverlight中缺少接口,这可以通过在viewmodel的构造函数上传递
IInputElement在WPF上很好地实现,然后使用它来传递消息ANYWHERE(view/viewmodel)。在这里看到这个想法stackoverflow.com/a/11068208/212706
标签: silverlight mvvm mvvm-light