Windows 8商店应用程序中StorageFile.CopyAsync的进度

时间:2013-07-08 20:39:28

标签: xaml windows-store-apps async-await winrt-async

我正在使用C#和XAML创建商店应用。我想向用户显示文件操作的进度,例如文件复制。我正在使用的API是StorageFile.CopyAsync

它返回await能够执行的任务。所以我可以告诉我的应用程序等待操作完成。但是如果文件太大,我将无法分辨出应用程序已复制了多少文件。

1 个答案:

答案 0 :(得分:1)

由于CopyAsync返回IAsyncOperation<StorageFile>而不是IAsyncOperationWithProgress<StorageFile>,因此您对此API不满意。我认为没有任何用于复制的内置API可以实现进度报告(Stream.CopyAsync也没有实现)。

您总是可以实现自己的版本,它可以将块中的字节从一个流复制到另一个流,并在执行时报告进度。但它可能不如内置API那么高效。