PrintTaskRequest 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含從系統建立列印工作的要求。 此物件可從傳遞至PrintTaskRequested事件的PrintTaskRequestedEventArgs物件取得。
public ref class PrintTaskRequest sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskRequest final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskRequest
Public NotInheritable Class PrintTaskRequest
- 繼承
- 屬性
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 引進)
|
備註
PrintTaskRequest 類別是由應用程式用來建立新的 PrintTask 物件。 會建立 PrintTask物件以回應PrintTaskRequested事件,並向系統指出應用程式必須列印內容。 使用CreatePrintTask方法建立PrintTask物件時,應用程式必須提供PrintTask的名稱,以及需要列印內容時所呼叫的PrintTaskSourceRequestedHandler事件處理常式。
應用程式應該在 PrintTaskRequested 事件處理常式中執行最少的工作量,因為只會針對回應提供短時間。 可能的話,應用程式應該只要建立 PrintTask 並延遲任何內容初始化,直到呼叫 PrintTaskSourceRequestedHandler 事件處理常式為止。
如果應用程式需要在 PrintTaskRequested 處理常式期間執行非同步作業,則必須擷取並使用 PrintTaskRequestedDeferral 物件。 在事件處理常式結束之前,通常啟動非同步作業之前,應用程式必須藉由呼叫PrintTaskRequest 物件的 GetDeferral 方法來擷取 PrintTaskRequestedDeferral物件。 非同步作業完成時,應用程式必須呼叫PrintTaskRequestedDeferral物件的Complete方法,以表示列印工作要求已完成。 必須先呼叫 Complete 方法,才能達到 期限 ,才能接受要求。
PrintTaskRequest中的CreatePrintTask方法可用來建立列印工作。 以下是 UWP 列印範例 的程式碼片段,示範如何建立列印工作:
protected virtual void PrintTaskRequested(PrintManager sender, PrintTaskRequestedEventArgs e)
{
PrintTask printTask = null;
printTask = e.Request.CreatePrintTask("C# Printing SDK Sample", sourceRequested =>
{
// Print Task event handler is invoked when the print job is completed.
printTask.Completed += async (s, args) =>
{
// Notify the user when the print operation fails.
if (args.Completion == PrintTaskCompletion.Failed)
{
await scenarioPage.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
MainPage.Current.NotifyUser("Failed to print.", NotifyType.ErrorMessage);
});
}
};
sourceRequested.SetSource(printDocumentSource);
});
}
如需此和其他列印案例的詳細資訊,請參閱 列印 和 UWP 列印範例。
屬性
Deadline |
取得 DateTime 值,指出應用程式必須回應 PrintTaskRequested 事件的時間長度。 如果系統尚未在達到期限時收到 PrintTaskRequested 事件處理常式的回應,則會忽略列印工作。 |
方法
CreatePrintTask(String, PrintTaskSourceRequestedHandler) |
建立新的 PrintTask ,指出應用程式有要列印的內容。 |
GetDeferral() |
擷取與 PrintTaskRequest相關聯的延遲物件。 延遲物件是用來處理 PrintTaskRequested 事件處理常式中的非同步呼叫。 |