Wpf 不使用INotifyPropertyChange从头开始实现MVVM?

Wpf 不使用INotifyPropertyChange从头开始实现MVVM?,wpf,silverlight,mvvm,Wpf,Silverlight,Mvvm,既然MVVM看起来很复杂,为什么它必须用INotifyPropertyChange、ICommand等实现呢?为什么不从头开始,做一些简单的事情呢?请记住,在Flex中,它们实现的模式几乎与INotifyPropertyChanged完全相同。您需要它来通知UI进行更新。唯一的区别是,在Flex中,您得到了为您实现模式的[Bindable]标记。在Silverlight,你必须自己做。您可以获得实现它的帮助,就像使用“Property Weaver”一样,但在这两种情况下,您都有一个事件和一个如

既然MVVM看起来很复杂,为什么它必须用INotifyPropertyChange、ICommand等实现呢?为什么不从头开始,做一些简单的事情呢?

请记住,在Flex中,它们实现的模式几乎与INotifyPropertyChanged完全相同。您需要它来通知UI进行更新。唯一的区别是,在Flex中,您得到了为您实现模式的
[Bindable]
标记。在Silverlight,你必须自己做。您可以获得实现它的帮助,就像使用“Property Weaver”一样,但在这两种情况下,您都有一个事件和一个如下所示的模式(伪代码):


至于命令,它与Flex和Silverlight中的命令绑定和声明绑定有关。您不需要Flex中的命令,因为您可以简单地在上下文中调用方法。在Silverlight中,它是声明性的,因此您需要绑定到一个对象。。。无法绑定到方法,因为它们不是对象<代码>ICommand为您提供。。。但是也增加了混乱的管道。

请记住,在Flex中,它们实现的模式几乎与INotifyPropertyChanged完全相同。您需要它来通知UI进行更新。唯一的区别是,在Flex中,您得到了为您实现模式的
[Bindable]
标记。在Silverlight,你必须自己做。您可以获得实现它的帮助,就像使用“Property Weaver”一样,但在这两种情况下,您都有一个事件和一个如下所示的模式(伪代码):


至于命令,它与Flex和Silverlight中的命令绑定和声明绑定有关。您不需要Flex中的命令,因为您可以简单地在上下文中调用方法。在Silverlight中,它是声明性的,因此您需要绑定到一个对象。。。无法绑定到方法,因为它们不是对象<代码>ICommand为您提供。。。但也会增加混乱的管道。

为什么不扩展DependencyObject而忽略INPC?为什么不扩展DependencyObject而忽略INPC?
var prop;
get: return prop
set: if prop == value return
     prop = value
     notify prop changed