我有以下問題:CanExecute被稱爲,但沒有任何反應
我有命令
CancelNewFilmCommand
與代碼:
public override void Execute(object item)
{
this.ViewModel.NewItem = null;
this.ViewModel.ShowItem = null;
var onCanExecuteChanged = this.CanExecuteChanged;
if (onCanExecuteChanged != null)
{
onCanExecuteChanged(this, new EventArgs());
}
AddNewFilmWindow.CanExecute(this);
}
現在
在執行的CancelNewFilmCommand我調用AddNewFilmWindow命令的CanExecute。我在初始化和設置中將CancelNewFilmCommand引用爲私有字段。問題是,AddNewFilmWindow.CanExecute(this);沒做什麼。我需要它將非灰色按鈕綁定到AddNewFilmWindowCommand,並且無法弄清楚如何。
任何人都可以幫忙嗎?我試圖解決這一整天都沒有成功:/
你不應該繼承/實現'ICommand'或其衍生物的每一個命令。 – Xiaoy312
爲什麼不呢? :O我有每個命令的課程。每個命令都實現了ICommand。 – Shadowmak
你應該使用寫一個ICommand的通用實現,並通過'Action'(用於'Execute')和'Func'(用於'CanExecute')公開功能。 –
Xiaoy312