为什么MVVM必须使用INotifyPropertyChange,ICommand等实现,因为它似乎很复杂MVVM - Presentation Model in Flex vs Presentation Model in Silverlight: advantages and disadvantages??为什么不从头开始做事更简单?
答案 0 :(得分:4)
请记住,在Flex中,它们实现的几乎与INotifyPropertyChanged完全相同。您需要它以告知UI更新。唯一的区别是,在Flex中,您将获得为您实现模式的[Bindable]
标记。在Silverlight中,您必须自己完成。您可以获得实现它的帮助,例如“Property Weaver”,但在两种情况下,您都有一个事件,以及一个看起来像这样的模式(伪代码):
var prop;
get: return prop
set: if prop == value return
prop = value
notify prop changed
至于命令,它与Flex vs Silverlight中的命令式与声明式绑定有关。您不需要Flex中的命令,因为您只需在上下文中调用方法即可。在Silverlight中,它是声明性的,因此您需要一个绑定到的对象...您不能绑定到方法,因为它们不是对象。 ICommand
给你这个......但也增加了凌乱的管道。