我正在开始使用MVVM和WPF。我有一个来自Datatables::of($querybuilder)->make()
接口的CreateCommand
类,它接受两个函数作为参数(一个用于Execute方法,一个用于ICommand
方法)。
CanExecute
要求
我想像这样在ViewModel中创建一个新命令。
class CreateCommand: ICommand
{
private Action ExecuteCommand;
private Action CanExecuteCommand;
public event EventHandler CanExecuteChanged;
public CreateCommand(Action executeAction,Action canExecuteAction)
{
ExecuteCommand = executeAction;
CanExecuteCommand = canExecuteAction;
}
public bool CanExecute(object parameter)
{
// gives error that the function CanExecute expects return type to be bool
return CanExecuteCommand();
}
public void Execute(object parameter)
{
ExecuteCommand();
}
}
问题
编译失败,并说CanExecute期望返回类型为bool
在此先感谢
答案 0 :(得分:2)
这非常简单明了。 只需将定义更改为
private Func<bool> CanExecuteCommand;
感谢@LadderLogic