首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向DelegateCommand提供回调?

向DelegateCommand提供回调?
EN

Stack Overflow用户
提问于 2011-05-22 01:25:07
回答 2查看 374关注 0票数 0

在我的Silverlight应用程序中,我有一个绑定到ICommand的按钮,它可以将一些数据发布到app服务。

完成后,我想让Command触发对视图的回调,让视图知道特定的Command已经完成(我希望视图关闭)。

有没有办法将回调操作传递给DelegateCommand

我还能如何通知视图ViewModel已完成?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-22 22:42:03

您可以使用几种不同的方法来实现这一点。一种是注入特定于视图的服务,该服务将在用户界面层上执行操作。视图模型将调用注入服务上的特定方法。here就是一个这样的例子。

如果您不想将特定于视图的服务注入到视图模型中,那么您可以在视图模型上公开一个事件,比如CloseWindow。此事件需要在您的view.xaml.cs文件中订阅,并且您可以通过事件处理程序方法关闭视图页面。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-05-23 04:37:29

从ViewModel到视图的任何通信都应该通过消息传递完成(这是一种“松散耦合的事件”机制)。因此,我认为一种很好的方法是从ViewModel向视图发送一条消息(您可以使用MVVM Light中的Messenger类),该视图将自动关闭。不需要回调。

希望这能有所帮助;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6083304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档