Example #1
0
        protected UploadingTaskViewModel()
        {
            ChangeStatusCommand = new DependencyCommand(ChangeStatus, DependencyCommand.AlwaysCan);
            StopCommand         = new DependencyCommand(Stop, DependencyCommand.AlwaysCan);
            WeakEventManager <DispatcherTimer, EventArgs> .AddHandler(timer, nameof(timer.Tick), Callback);

            void Callback(object sender, EventArgs e)
            {
                OnPropertyChanged(nameof(Name));
                OnPropertyChanged(nameof(Status));
                //OnPropertyChanged(nameof(Uploaded));
                OnPropertyChanged(nameof(Total));
                OnPropertyChanged(nameof(Uploaded));
                OnPropertyChanged(nameof(Progress));
                if (Status == UploadStatus.Completed)
                {
                    UploadCompleted?.Invoke(this, new EventArgs());
                }
                else if (Status == UploadStatus.Stop)
                {
                    UploadAborted?.Invoke(this, new EventArgs());
                }
            }
        }