2013-07-08 2 views
0

Я создаю приложение Store с использованием C# и XAML. Я хотел показать пользователю ход выполнения таких операций, как копирование файлов. API, который я использую, - StorageFile.CopyAsync.Прогресс StorageFile.CopyAsync в приложении для Windows 8 Store

Он возвращает задачу await -able. Поэтому я могу сообщить своему приложению, что он ждет завершения операции. Но если файл слишком велик, я не смогу сказать, сколько из него скопировано.

ответ

1

С CopyAsync возвращает IAsyncOperation<StorageFile> вместо IAsyncOperationWithProgress<StorageFile>, вам не повезло с этим API. Я не думаю, что есть какой-либо встроенный API для копирования, который будет реализовывать отчет о выполнении (Stream.CopyAsync также не реализует его).

Вы всегда можете реализовать свою собственную версию, которая копирует байты из одного потока в другой в кусках и сообщает о прогрессе во время его выполнения. Однако он может быть менее эффективным, чем встроенные API.

+0

Я думал о реализации своих собственных методов, но я не уверен, что он может сохранить все свойства, связанные с файлами в системе (например, измененная дата). –

Смежные вопросы