用于管理用户控制事件的主页面xaml

时间:2011-04-07 15:22:46

标签: silverlight xaml silverlight-4.0 mvvm

我需要一个优雅的解决方案(我正在使用Silverlight 4.0)来使用MVVM模式来解决这个简单的问题(?):

我的主页xaml有两个这样的自定义用户控件(比如说):

<uc:MyCustomUC1>
<uc:MyCustomUC2>

每个人都有自己的视图模型,这两个用户控件彼此独立。

当MyCustomUC1中的异步操作完成后,我希望调用MyCustomUC2的viewmodel中的ICommand,从而刷新MyCustomUC2中的数据。我想通过父页面和xaml中的所有内容完成此操作。 在用户控件中公开依赖属性,事件处理程序等......任何事情都可以,因为我拥有用户控件...无论什么都有意义。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用Mvvm Lights messenger,您可以在MyCustomUC2的viewmodel中注册一个监听器进行刷新。然后在MyCustomUC1的异步回调中,发送消息进行刷新。

答案 1 :(得分:0)

你可以使用PropertyObserver,我相信你可以在这里找到信息: Property Observer

它允许您在一个ViewModel中检查某些内容是否发生了变化,然后在另一个ViewModel中执行相应的操作。我最近在一个项目中使用了这个,它运作得很好。

如果我错误地提起了这个问题,请道歉。