管理用户控制事件的主页xaml
我需要一个优雅的解决方案(我正在开发 silverlight 4.0)来使用 MVVM 模式解决这个简单的问题(?):
我的主页 xaml 有两个像这样的自定义用户控件(比如说):
<uc:MyCustomUC1>
<uc:MyCustomUC2>
每个都有自己的视图模型,并且都有这些用户控件是相互独立的。
当 MyCustomUC1 中的异步操作完成时,我希望调用 MyCustomUC2 视图模型中的 ICommand,从而刷新 MyCustomUC2 中的数据。我希望这由父页面完成并且全部在 xaml 中。 在用户控件中公开依赖属性、事件处理程序等...一切都可以,因为我拥有用户控件...任何有意义的事情。
有什么想法吗?
I need an elegant solution (I am working on silverlight 4.0) to solve this simple problem(?) using the MVVM pattern:
My mainpage xaml has my two custom user controls like this (say):
<uc:MyCustomUC1>
<uc:MyCustomUC2>
Each one has its own view model and both these user controls are independent of each other.
When an asynchronous operation in MyCustomUC1 has completed, I want an ICommand in MyCustomUC2's viewmodel to be invoked thus refreshing data in MyCustomUC2. I want this done by the parent page and all in xaml.
Exposing dependency properties, event handlers etc in the user controls...anything is ok since I own the user control ...whatever makes sense.
Any ideas ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用Mvvm Lights Messenger,您可以在MyCustomUC2的viewmodel中注册一个监听器来刷新。然后在MyCustomUC1的异步回调中,发送消息进行刷新。
Use Mvvm Lights messenger, you can register a listener in MyCustomUC2's viewmodel to refresh. Then in MyCustomUC1's async call back, send the message to refresh.
您可以使用 PropertyObserver,我相信您可以在这里找到信息:
财产观察者 。
它将允许您检查一个 ViewModel 中的某些内容何时发生更改,然后在另一个 ViewModel 中采取适当的操作。我最近在一个项目中使用了很多次并且效果很好。
如果我错误地回答了这个问题,我深表歉意。
You could use a PropertyObserver, which I believe you can find info on here:
Property Observer.
It'll allow you to check when something has changed in one ViewModel and then take the appropriate action in another. I've used this quite a bit recently in a project and it has worked pretty well.
Apologies if I've picked up the question incorrectly.