共用方式為


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. 使用TargetFileRequestedEventArgs.request屬性取得TargetFileRequest
  2. 建立 (或) 擷取 StorageFile 來代表要儲存的檔案;此 StorageFile 會傳回給呼叫檔案選擇器的應用程式,以便儲存和使用呼叫端應用程式將內容寫入檔案。

代表檔案之 物件的檔案名和副檔名必須符合使用者所指定的檔案名和副檔名 (,且可透過 FileName) 存取,或嘗試儲存檔案將會失敗。 如果嘗試失敗,使用者可以嘗試再次儲存檔案。

如果您的應用程式 (為儲存位置的提供者,) 無法提供要儲存的檔案物件,請將 TargetFileRequest.TargetFile 設定為 null

  1. TargetFileRequest.TargetFile 設定為 StorageFile 物件。

以非同步方式回應

如果您的應用程式提供儲存位置,在從其 (事件處理常式傳回之前,無法完成回應 TargetFileRequested 事件,例如,如果您的 app 呼叫非同步方法) ,您可以延遲以非同步方式完成回應。

您的應用程式是儲存位置的提供者,可以依照下列步驟以非同步方式回應事件:

  1. 使用TargetFileRequestedEventArgs.request屬性取得TargetFileRequest
  2. 呼叫 TargetFileRequest.GetDeferral 以取得 TargetFileRequestDeferral 物件。
  3. 執行回應上一節所述 之 TargetFileRequested 事件所需的步驟 () 。
  4. 呼叫 TargetFileRequestDeferral.Complete 以表示您的應用程式已完成回應 TargetFileRequested 事件。

屬性

Request

取得 TargetFileRequest 物件,用來回應 TargetFileRequested 事件。

適用於

另請參閱