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