public virtual void DoExecute(object param) { CancelCommandEventArgs args = new CancelCommandEventArgs() { Parameter = param, Cancel = false }; InvokeExecuting(args); if (args.Cancel) { return; } InvokeAction(param); InvokeExecuted(new CommandEventArgs() { Parameter = param }); }
protected void InvokeExecuting(CancelCommandEventArgs args) { Executing?.Invoke(this, args); }