我一直在使用MVVM Visual Studio模板中的DelegateCommand。这对于使视图能够在其ViewModel上执行命令非常有用,非常好用。
我在某个地方读到,在MVVM中应该使用"附加行为"。据我所知,"附加行为"与DelegateCommand是相同类型的模式,但由于Silverlight没有命令,因此使用它们。
这是正确的吗?还是"附加行为"在性质上有所不同,值得学习并且可以补充DelegateCommand?
我一直在使用MVVM Visual Studio模板中的DelegateCommand。这对于使视图能够在其ViewModel上执行命令非常有用,非常好用。
我在某个地方读到,在MVVM中应该使用"附加行为"。据我所知,"附加行为"与DelegateCommand是相同类型的模式,但由于Silverlight没有命令,因此使用它们。
这是正确的吗?还是"附加行为"在性质上有所不同,值得学习并且可以补充DelegateCommand?
DelegateCommand(或RelayCommand,它几乎相同但接受参数)只是ICommand接口的一个轻量级实现,允许ViewModel轻松公开命令。
附加行为是将事件链接到命令的一种方式。例如,大多数WPF控件没有Command属性,因此通常无法定义命令以响应其事件。使用附加行为,您可以将任何控件的任何事件“绑定”到ViewModel的命令。 请查看Marlon Grech的实现,我认为这是最灵活的