public DownloadingTaskViewModel(string downloadAddress, string localPath, string name) { downloadTask = new DownloadTask(downloadAddress, localPath, name); DownloadTasksLogger.AddRecord(downloadTask); downloadTask.DownloadFileProgressChanged += (sender, e) => { OnPropertyChanged("Completed"); OnPropertyChanged("Total"); OnPropertyChanged("Progress"); }; downloadTask.DownloadFileCompleted += (sender, e) => { if (e.State == FileDownloader.CompletedState.Succeeded) { DownloadCompleted?.Invoke(this, new EventArgs()); } }; }