Freigeben über


PrintTaskRequest Klasse

Definition

Enthält die Anforderung des Systems zum Erstellen einer Druckaufgabe. Dieses Objekt ist über das PrintTaskRequestedEventArgs-Objekt verfügbar, das an das PrintTaskRequested-Ereignis übergeben wird .

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
Vererbung
Object Platform::Object IInspectable PrintTaskRequest
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Hinweise

Die PrintTaskRequest-Klasse wird von einer App verwendet, um ein neues PrintTask-Objekt zu erstellen. Ein PrintTask-Objekt wird als Reaktion auf das PrintTaskRequested-Ereignis erstellt und gibt dem System an, dass die App über Inhalte verfügt, die gedruckt werden sollen. Beim Erstellen eines PrintTask-Objekts mit der CreatePrintTask-Methode muss die App einen Namen für printTask und einen PrintTaskSourceRequestedHandler-Ereignishandler angeben, der aufgerufen wird, wenn der zu druckbare Inhalt erforderlich ist.

Eine App sollte den minimalen Arbeitsaufwand im PrintTaskRequested-Ereignishandler ausführen, da nur ein kurzer Zeitraum für eine Antwort bereitgestellt wird. Nach Möglichkeit sollte die App einfach ein PrintTask erstellen und jede Inhaltsinitialisierung verzögern, bis der PrintTaskSourceRequestedHandler-Ereignishandler aufgerufen wird.

Wenn eine App während des PrintTaskRequested-Handlers einen asynchronen Vorgang ausführen muss, muss sie ein PrintTaskRequestedDeferral-Objekt abrufen und verwenden. Vor dem Beenden des Ereignishandlers und in der Regel vor dem Starten des asynchronen Vorgangs muss die App das PrintTaskRequestedDeferral-Objekt abrufen, indem die GetDeferral-Methode des PrintTaskRequest-Objekts aufgerufen wird. Wenn der asynchrone Vorgang abgeschlossen ist, muss die App die Complete-Methode des PrintTaskRequestedDeferral-Objekts aufrufen, um zu signalisieren, dass die Drucktaskanforderung abgeschlossen ist. Der Aufruf der Complete-Methode muss erfolgen, bevor der Stichtag erreicht wird, damit die Anforderung akzeptiert wird.

Die CreatePrintTask-Methode in PrintTaskRequest kann zum Erstellen der Druckaufgabe verwendet werden. Hier sehen Sie einen Codeausschnitt aus dem UWP-Druckbeispiel , der die Erstellung einer Druckaufgabe zeigt:

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);
    });
}

Weitere Informationen zu diesem und anderen Druckszenarien finden Sie unter Drucken und im UWP-Druckbeispiel.

Eigenschaften

Deadline

Ruft einen DateTime-Wert ab, der angibt, wie lange eine App auf das PrintTaskRequested-Ereignis reagieren kann. Wenn das System bis zum Erreichen des Stichtags keine Antwort vom PrintTaskRequested-Ereignishandler empfangen hat, wird die Druckaufgabe ignoriert.

Methoden

CreatePrintTask(String, PrintTaskSourceRequestedHandler)

Erstellt eine neue PrintTask , die angibt, dass die App über Inhalte verfügt, die gedruckt werden sollen.

GetDeferral()

Ruft das deferral-Objekt ab, das der PrintTaskRequest zugeordnet ist. Das deferral-Objekt wird verwendet, um asynchrone Aufrufe im PrintTaskRequested-Ereignishandler zu verarbeiten.

Gilt für:

Weitere Informationen