c# Progress<T> 用于显示进度。。。。。。。。主要是利用IProgress<T> 的Report(T)方法:
private void BtnDownload_Click(object sender, RoutedEventArgs e) { var pp = new Progress<string>();// or 直接传入参数 action: var pp = new Progress<string>(s => { txt.Text = s; }); pp.ProgressChanged += Pp_ProgressChanged;//如果直接传入参数 action就不需要额外的这个事件通知了。 testProgress(pp); } private void Pp_ProgressChanged(object sender, string e) { txt.Text = e; } async void testProgress(IProgress<string> p) { for (int i = 0; i < 300; i++) { await Task.Delay(10); p.Report("" + i); } }