web-services - Silverlight 中的 MVVM - 异步服务逻辑去哪里了?

标签 web-services silverlight-3.0 mvvm

我的第一个 Silverlight MVVM 应用程序刚刚开始,我需要知道应该将业务逻辑(包括异步服务调用)放在哪里。它会出现在托管 View 的页面上吗?我是否只是设置 ViewModel 的一个属性来更新 View ?

最佳答案

在 Silverlight 中实现 MVVM 比在 WPF 中更难,但我们已经做到了。是的,我们将异步服务调用放在 ViewModel 中。在我们的例子中,“模型”是通过 Web 服务调用来回发送的代理对象。不幸的是,这意味着您的一些功能在您的客户端 ViewModel 中,而一些在服务器端。真的没有办法解决这个问题。

...是的,将 Async Complete 事件处理程序写入 ViewModel 的属性,并确保该属性(或集合)实现 INotifyPropertyChanged(或 INotifyCollectionChanged)。如果您从 Web 服务获取“模型”对象,并且这些对象本身不实现 INotifyPropertyChanged,那么您也应该考虑围绕这些对象包装一个 ViewModel 对象。这样,如果您对每个对象都有一个 View ,它们就可以进行双向绑定(bind)。

关于web-services - Silverlight 中的 MVVM - 异步服务逻辑去哪里了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262944/

相关文章:

ios - 如何使用 SWIFT 为特定用户安排不同的推送通知

silverlight - 如何在 Silverlight 工具包的折线图上制作更小的点?

silverlight - 使用 F# 创建 Silverlight 3 应用程序

c# - 如何像保存图像一样保存 Canvas

python WSME 和线程安全

web-services - 如何配置 Spring MVC 4 以使用 Web 服务使用者以两种方式 SSL 发送和接收 soap 消息?

c++ - 使用流式传输的 gsoap restful c++ 客户端

wpf - 如何根据条件隐藏wpf xaml中上下文菜单的菜单项

wpf - 如何以编程方式使用EventTrigger和InvokeCommandAction?

javascript - 如何在结果表中只显示选定的记录