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);
}
}
