TargetFileRequestedEventArgs Класс

Определение

Предоставляет сведения о событии TargetFileRequested .

public ref class TargetFileRequestedEventArgs sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class TargetFileRequestedEventArgs final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class TargetFileRequestedEventArgs
Public NotInheritable Class TargetFileRequestedEventArgs
Наследование
Object Platform::Object IInspectable TargetFileRequestedEventArgs
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В примере средства выбора файлов показано, как реагировать на событие TargetFileRequested .

// Event handler
private async void OnTargetFileRequested(FileSavePickerUI sender, TargetFileRequestedEventArgs e)
{
    // Respond to TargetFileRequested event on the background thread on which it was raised

    // Requesting a deferral allows the app to call another asynchronous method and complete the request at a later time
    var deferral = e.Request.GetDeferral();

    // Create file and assign to TargetFile property
    e.Request.TargetFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(sender.FileName, CreationCollisionOption.GenerateUniqueName);

    // Complete the deferral to let the Picker know the request is finished
    deferral.Complete();
}

// Register for the event
fileSavePickerUI.TargetFileRequested += new TypedEventHandler<FileSavePickerUI, TargetFileRequestedEventArgs>(OnTargetFileRequested);

В примере e содержит объект TargetFileRequestedEventArgs.

Комментарии

Этот объект передается обработчику событий TargetFileRequested .

Реагирование на событие TargetFileRequested

Если приложение участвует в контракте средства выбора сохранения файлов и возникает событие TargetFileRequested , приложение должно ответить следующим образом:

  1. Получите TargetFileRequest с помощью свойства TargetFileRequestedEventArgs.request .
  2. Создайте (или получите) StorageFile для представления файла для сохранения; Этот объект StorageFile возвращается приложению, которое вызывало средство выбора файлов для сохранения и используется вызывающим приложением для записи содержимого в файл.

Имя файла и расширение объекта, представляющего файл, должны совпадать с именем файла и расширением, указанными пользователем (и доступными через FileName), иначе попытка сохранить файл завершится ошибкой. Если попытка завершается неудачно, пользователь может попытаться сохранить файл еще раз.

Если вашему приложению (как поставщику расположения сохранения) не удается предоставить объект для сохранения файла, задайте для параметра TargetFileRequest.TargetFileзначение NULL.

  1. Задайте для параметра TargetFileRequest.TargetFile значение объекта StorageFile .

Асинхронный ответ

Если приложение, предоставляющее расположение для сохранения, не может завершить реагирование на событие TargetFileRequested до возврата из обработчика событий (например, если приложение вызывает асинхронный метод), вы можете завершить ответ асинхронно, отложив его.

Ваше приложение, как поставщик расположения сохранения, может отложить, чтобы асинхронно реагировать на событие, выполнив следующие действия:

  1. Получите TargetFileRequest с помощью свойства TargetFileRequestedEventArgs.request .
  2. Вызовите TargetFileRequest.GetDeferral , чтобы получить объект TargetFileRequestDeferral .
  3. Выполните действия, необходимые для реагирования на событие TargetFileRequested (описано в предыдущем разделе).
  4. Вызовите TargetFileRequestDeferral.Complete , чтобы сообщить, что приложение завершило реагирование на событие TargetFileRequested .

Свойства

Request

Возвращает объект TargetFileRequest , используемый для реагирования на событие TargetFileRequested .

Применяется к

См. также раздел