c# - UWP C#:IAsyncOperationWithProgress 的进度
问题描述
如何捕获 an 的进度IAsyncOperationWithProgress
并将其发送到 a ProgressBar
?
var packageManager = new PackageManager();
var packageUri = new Uri("https://example.com/");
var options = AddPackageByAppInstallerOptions.None;
var defaultPackageVolume = packageManager.GetDefaultPackageVolume();
var operation = packageManager.AddPackageByAppInstallerFileAsync(packageUri, options, defaultPackageVolume);
operation.Progress( ??? ); // What should I do?
MyProgressBar.Value = ???; // I'd like to display installation progress % in real time.
await operation;
解决方案
最容易调用AsTask
:
var progress = new Progress<DeploymentProgress>(
report => myProgressBar.Value = report.Percentage);
var operation = packageManager.AddPackageByAppInstallerFileAsync(packageUri, options, defaultPackageVolume)
.AsTask(progress);
await operation;
未经编译和测试;一些操作DeploymentProgress.Percentage
可能是必要的。
推荐阅读
- apostrophe-cms - 管理模式关闭时调用 jquery 文档准备就绪
- javascript - 地球轨道模拟速度不正确
- java - 移动文件的java静态方法中的多线程?
- devexpress - 行号未正确对齐
- javascript - 在两个元素悬停时显示内容
- java - 错误:java:包 org.springframework.boot.loader 不存在
- sql-server - 对通过 ODBC 链接的 MSSQL 使用 VBA 中的 Database.Execute 方法的最佳方式
- elasticsearch - 使用 Elasticsearch 实现搜索
- c++ - 如何强制模板参数为枚举或枚举类?
- python-3.x - 我无法在嵌套循环中打印出来。我试图打印只有 2 个阶乘但无法打印出来的数字