wpf 可通知介面的Delegate命令
publicclassSelfCheckCommand : ICommand
{
publicSelfCheckCommand()
{
}
publicSelfCheckCommand(Action<object> execAction, Func<object, bool> canExecte)
{
ExecuteAction = execAction;
CanExecuteFunc = canExecte;
}
privatebool _canExecuteCache;
publicboolCanExecute(object
parameter)
{
if (CanExecuteFunc ==null)
{
returntrue;
}
bool result = CanExecuteFunc(parameter);
if (result != _canExecuteCache)
{
_canExecuteCache = result;
}
return result;
}
publiceventEventHandlerCanExecuteChanged
{
add { CommandManager.RequerySuggested+=value; }
remove
{ CommandManager
}
publicvoidExecute(object parameter)
{
if (ExecuteAction !=null)
{
this.ExecuteAction(parameter);
}
}
publicAction<object> ExecuteAction { get; set; }
publicFunc<object, bool> CanExecuteFunc { get; set; }
}