我理解在MVVM中:
那么ViewModel如何响应用户对View所做的操作,例如在TextBox中键入内容或移动滑块等.
我知道这是通过RoutedEvents完成的,但我发现几乎所有的RoutedEvent示例都在View中使用CodeBehind,这正是你在MVVM中不再拥有的.
因此留下RoutedCommands我在MVVM中找到了更多的例子,但是例如移动滑块确实不是这个意义上的命令,它是一个事件,所以我想知道这是否真的应该使用.
然后,我读的意见,如" 在MVVM 使用RoutedEvents尽可能少,并没有RoutedCommands可言. " OK.
因此,例如在WPF模型 - 视图 - 视图模型工具包0.1项目中,自己就会形成一个" DelegateCommand ",它看起来也像一个有趣的方式.
然后有些人也在使用" RelayCommand ".
对于开发应用程序这样核心的事情,这是很多选择和困惑.
在MVVM中简单地完成我们过去10年使用Code Behind所做的工作的最佳方法是什么:
Bri*_*sio 11
需要明确的是,当人们提到DelegateCommand和RelayCommand时,他们真的在谈论同样的事情:ICommand的一个实现允许你传递一个委托.您可以互换使用它们.
就我而言,将视图(XAML)绑定到ViewModel中的DelegateCommands是实现MVVM的最佳方式.
我尽可能远离RoutedEvents和代码隐藏.