2016-08-17 161 views
0

我是新來的MVVM模式,我想寫我自己的自定義命令。編寫自定義命令的最佳方法是什麼? (我在這裏和那裏閱讀了很多文章,但無法獲得創建我的命令的想法)。特別是如果有人可以幫助我創建一個命令的想法,單擊一個按鈕後,從一個ListView中獲取項目並將其放入另一個。 (列表視圖綁定到ObservableCollection)。提前致謝!如何創建我自己的自定義命令

回答

0

只需實現ICommand接口。網絡上有很多甚至在nuget包中實現。用ICommand搜索RelayCommand或DelegateCommand,你會發現很多實現。完成後,您只需將命令中的虛擬機私有方法包裝好即可。例如

ICommand startTestCommand; 

public ICommand StartTestCommand { get { return startTestCommand ?? (startTestCommand = new RelayCommand(StartTest)); } 

private void StartTest() 
{ 
    //This will execute if the Command is bound in XAML 
} 

要在XAML綁定命令(假設你的視圖模型的數據上下文)剛剛綁定無論你的命令被稱爲按鈕「StartTestCommand」或Command屬性。

因此,本質上你不會爲你所要求的「創建你自己的命令」,而是包裝一個Command中介的委託來處理阻止耦合。有理由創建你自己的命令,但我會建議使用那裏的東西。

0

你只需要實現接口ICommand。大多數MVVM框架都有一個通用的基於委託的命令類來實現它(例如,MVVM中的RelayCommand)。您只需將方法傳遞給其構造函數即可。

相關問題