在MVVM Light框架中,事件是WPF應(yīng)用程序中UI與后臺(tái)代碼進(jìn)行交互的最主要方式,與傳統(tǒng)方式不同,mvvm中主要通過(guò)綁定到命令來(lái)進(jìn)行事件的處理,
因此要了解mvvm中處理事件的方式,就必須先熟悉命令的工作原理。
RelayCommand命令:
WPF命令是通過(guò)實(shí)現(xiàn) ICommand 接口創(chuàng)建的。 ICommand 公開(kāi)了兩個(gè)方法(Execute 及 CanExecute)和一個(gè)事件(CanExecuteChanged)。
Execute方法 | 執(zhí)行與命令關(guān)聯(lián)的操作 |
CanExecute方法 | 確定是否可以在當(dāng)前命令目標(biāo)上執(zhí)行命令,返回值為true則按鈕可用,為false的時(shí)候按鈕disable。在MvvmLight中實(shí)現(xiàn)ICommand接口的類是RelayCommand |
RelayCommand通過(guò)構(gòu)造函數(shù)初始化Execute 和 CanExecute方法,因此,構(gòu)造函數(shù)傳入的是委托類型的參數(shù),