Share via


PrintTaskRequest 類別

定義

包含從系統建立列印工作的要求。 此物件可從傳遞至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
繼承
Object Platform::Object IInspectable 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 事件處理常式中的非同步呼叫。

適用於

另請參閱