我需要解释RelayCommand是什么

时间:2014-02-11 15:28:41

标签: windows-phone-8

我正在Windows 8开发中读取MVVM上的.net源代码。我看到一些有趣的对象叫做RelayCommand。我试着读它。但我仍然不明白RelayCommand是什么。任何身体帮助简单解释它是什么以及为什么我需要使用它。

非常感谢

1 个答案:

答案 0 :(得分:1)

我尽力解释清楚。

在XAML和MVVM中,您有一些名为Commands的属性,这些属性来自ButtonBase。此Command属性允许您将(使用数据绑定{Binding propertyname})绑定到实现ICommand接口的类型的viewmodel中的属性。之后,当用户点击时,该按钮可以执行“Command”。

如果在类中实现ICommand接口,例如将其称为HelloCommand,您有CanExecute和Execute方法,CanExecute返回bool并用于评估命令是否可以执行。 Execute是用户单击按钮时要执行的代码。

这意味着,对于每个按钮,您需要创建一个实现ICommand的类。 RelayCommand是一个实现ICommand的类,允许您在构造函数中传递要在CanExecute和Execute ICommand方法中执行的方法的参数。这样您就不需要一遍又一遍地实现ICommand接口。

希望很明显......