Windows phone 8 我需要解释一下什么是RelayCommand

Windows phone 8 我需要解释一下什么是RelayCommand,windows-phone-8,Windows Phone 8,我正在读Windows8开发中MVVM上的.net源代码。我看到一些有趣的东西,叫做RelayCommand。我试着仔细阅读。但我还是不明白RelayCommand是关于什么的。任何人都可以帮助我简单地解释它是什么以及为什么我需要使用它 非常感谢我尽力解释清楚 在XAML和MVVM中,在从ButtonBase递减的控件中有一些称为命令的属性。此命令属性允许您绑定(使用数据绑定{binding propertyname})到viewmodel中实现ICommand接口类型的属性。稍后,当用户单击时

我正在读Windows8开发中MVVM上的.net源代码。我看到一些有趣的东西,叫做RelayCommand。我试着仔细阅读。但我还是不明白RelayCommand是关于什么的。任何人都可以帮助我简单地解释它是什么以及为什么我需要使用它


非常感谢

我尽力解释清楚

在XAML和MVVM中,在从ButtonBase递减的控件中有一些称为命令的属性。此命令属性允许您绑定(使用数据绑定
{binding propertyname}
)到viewmodel中实现ICommand接口类型的属性。稍后,当用户单击时,按钮可以执行该“命令”

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

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


希望很明确,这是MVVM管道,用于将命令中继到视图模型内的嵌套类。嵌套可以防止视图模型在大小上爆炸。在许多文章中阅读有关MVVM命令路由的更多信息,如。