Silverlight MVVM链接模型和视图模型

Silverlight MVVM链接模型和视图模型,第1张

概述MVVM上有很多很好的例子,但我仍然感到困惑. 假设您有CustomerModel和CustomerViewModel.似乎CustomerModel上有一个Name属性,CustomerViewModel上有一个. CustomerViewModel上的setter将设置CustomerModel Name属性,然后调用OnPropertyChanged(PropName)以便UI更新.这是真的 MVVM上有很多很好的例子,但我仍然感到困惑.

假设您有CustomerModel和Customerviewmodel.似乎CustomerModel上有一个name属性,Customerviewmodel上有一个. Customerviewmodel上的setter将设置CustomerModel name属性,然后调用OnPropertyChanged(Propname)以便UI更新.这是真的吗?似乎getter / setter将被定义两次.如果你有一个拥有50个属性的模型,那将会变得非常繁琐.

另外,假设我设置了一个Qty属性. viewmodel更新模型.模型根据新的数量更新其Value属性.如何通知viewmodel Model属性发生了变化?

解决方法 您的viewmodel不必严格封装Model.在您的场景中,Customerviewmodel可能具有Customer属性,这最终意味着您的VIEw绑定到Model属性……它只是通过viewmodel实现.那是完全合法的.也就是说,封装它通常是有益的.您的商业模式可能不包含更改通知.在用户单击“确定”按钮之前,您可能不希望用户交互修改业务模型.您的业​​务模型可能通过异常输入错误,而您希望使用其他形式的验证.我相信你能想到其他的事情.事实上,我猜大多数时候你都想要封装,所以在编写大量无意义的中继方法时,它并不是真的“乏味”. 总结

以上是内存溢出为你收集整理的Silverlight MVVM链接模型和视图模型全部内容,希望文章能够帮你解决Silverlight MVVM链接模型和视图模型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存