private void SetEventHandlers() { MainList.CollectionChanged += UpdateStatusTexts; _remotes.Loading += (s, e) => { BusyText = "Getting list of files ..."; RetryingText = ""; MessageTone = L4j.Info; IsDelayingRetry = false; }; _remotes.DelayingRetry += (s, e) => { BusyText = $"Unable to get list of files."; RetryingText = $"retrying in {e.Value} ..."; MessageTone = L4j.Warn; IsDelayingRetry = true; }; PropertyChanged += (s, e) => { if (e.PropertyName == nameof(IsBusy) || e.PropertyName == nameof(IsDelayingRetry)) { CancelCommand.Fire_CanExecuteChanged(); } }; Cancelled += (s, e) => { _remotes.RaiseCancelled(); }; }