private void DownloadTask_AnalysisFailed(DownloadTask downloadTask) { try { Dispatcher.Invoke(new Action(() => { InfoBox.Foreground = new SolidColorBrush(Color.FromRgb(0xf2, 0x5d, 0x8e)); InfoBox.Text = "获取下载地址失败"; })); for (int i = Bili_dl.SettingPanel.settings.RetryInterval; i > 0; i--) { Dispatcher.Invoke(new Action(() => { InfoBox.Text = string.Format("获取下载地址失败,将在{0}秒后重试", i); })); System.Threading.Thread.Sleep(1000); } Dispatcher.Invoke(new Action(() => { downloadTask.Run(); })); } catch (TaskCanceledException) { } }
/// <summary> /// Start the task. /// </summary> public void Start() { downloadTask.StatusUpdate += DownloadTask_StatusUpdate; downloadTask.Finished += DownloadTask_Finished; downloadTask.AnalysisFailed += DownloadTask_AnalysisFailed; downloadTask.Run(); IsRunning = true; }