Example #1
0
        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(); };
        }