private RelayAsyncCommand AddEventsToAsyncCommand(RelayAsyncCommand cmd) { WeakEventManager <RelayAsyncCommand, EventArgs> .AddHandler(cmd, "Started", Cmd_Started); WeakEventManager <RelayAsyncCommand, EventArgs> .AddHandler(cmd, "Ended", Cmd_Ended); return(cmd); }
protected virtual RelayAsyncCommand CreateAsyncCommand(Action <CancellationToken> execute, Func <bool> canExecute, Action <RunWorkerCompletedEventArgs> postAction = null) { var asyncCmd = new RelayAsyncCommand(execute, () => !IsCmdExecuting && canExecute(), postAction); return(AddEventsToAsyncCommand(asyncCmd)); }