2014-02-11 85 views
0

我正在閱讀Windows 8開發中MVVM上的.net源代碼。我看到一些叫做RelayCommand的有趣物體。我試着去閱讀它。但我仍然不明白RelayCommand是關於什麼的。任何身體的幫助都可以簡單地解釋它是什麼以及爲什麼我需要使用它。我需要解釋什麼RelayCommand是

非常感謝

+0

這是MVVM管道,用於將命令傳遞給視圖模型中的嵌套類。嵌套使視圖模型的尺寸不會爆炸。在許多文章中閱讀有關MVVM命令路由的更多信息,例如[this one](http://msdn.microsoft.com/zh-cn/magazine/dd419663.aspx)。 –

回答

1

我試着盡我所能解釋清楚。

在XAML和MVVM中,有一些屬性稱爲Commands,它們是從ButtonBase降序的控件。此命令屬性允許您將(使用數據綁定{Binding propertyname})綁定到實現了ICommand接口的類型的視圖模型中的屬性。稍後,該按鈕可以在用戶點擊時執行該「命令」。

如果您在某個類中實現了ICommand接口,則將其稱爲HelloCommand,例如,您有一個CanExecute和Execute方法,CanExecute返回一個bool並用於評估該命令是否可以執行。執行是命令將在用戶單擊按鈕時執行的代碼。

這意味着,對於每個按鈕,您需要創建一個實現ICommand的類。 RelayCommand是一個實現ICommand的類,允許您在構造函數中傳遞CanExecute和Execute ICommand方法中要執行的方法的參數。這樣你就不需要重複實現ICommand接口。

希望已經足夠清晰了......

+0

非常感謝。現在我越來越清楚了 – user2754532