TargetFileRequestedEventArgs 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 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
- 繼承
- 屬性
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 事件,您的應用程式應遵循下列步驟回應:
- 使用TargetFileRequestedEventArgs.request屬性取得TargetFileRequest。
- 建立 (或) 擷取 StorageFile 來代表要儲存的檔案;此 StorageFile 會傳回給呼叫檔案選擇器的應用程式,以便儲存和使用呼叫端應用程式將內容寫入檔案。
代表檔案之 物件的檔案名和副檔名必須符合使用者所指定的檔案名和副檔名 (,且可透過 FileName) 存取,或嘗試儲存檔案將會失敗。 如果嘗試失敗,使用者可以嘗試再次儲存檔案。
如果您的應用程式 (為儲存位置的提供者,) 無法提供要儲存的檔案物件,請將 TargetFileRequest.TargetFile 設定為 null。
- 將 TargetFileRequest.TargetFile 設定為 StorageFile 物件。
以非同步方式回應
如果您的應用程式提供儲存位置,在從其 (事件處理常式傳回之前,無法完成回應 TargetFileRequested 事件,例如,如果您的 app 呼叫非同步方法) ,您可以延遲以非同步方式完成回應。
您的應用程式是儲存位置的提供者,可以依照下列步驟以非同步方式回應事件:
- 使用TargetFileRequestedEventArgs.request屬性取得TargetFileRequest。
- 呼叫 TargetFileRequest.GetDeferral 以取得 TargetFileRequestDeferral 物件。
- 執行回應上一節所述 之 TargetFileRequested 事件所需的步驟 () 。
- 呼叫 TargetFileRequestDeferral.Complete 以表示您的應用程式已完成回應 TargetFileRequested 事件。
屬性
Request |
取得 TargetFileRequest 物件,用來回應 TargetFileRequested 事件。 |