So wird’s gemacht: Hinzufügen von benutzerdefinierten Einstellungen zur Druckvorschau-Benutzeroberfläche (XAML)

Applies to Windows only

In diesem Lernprogramm wird gezeigt, wie Sie der Druckvorschau-Benutzeroberfläche eine benutzerdefinierte app-spezifische Druckoption hinzufügen.

In diesem Lernprogramm fügen wir der Druckvorschau-Benutzeroberfläche eine benutzerdefinierte Druckoption mit dem Namen Pictures und den folgenden Optionen hinzu:

OptionsnameAktion

Pictures and text

Druckt den Text und die Bilder auf dem Bildschirm der App.

Pictures only

Druckt nur die Bilder auf dem Bildschirm der App.

Text only

Druckt nur den Text auf dem Bildschirm der App.

 

Ziel: Fügen Sie mit den benutzerdefinierten Optionen auf der Druckvorschau-UI einer Anwendung neue Druckfunktionen hinzu.

Voraussetzungen

  • Sie müssen mit C#, C++ oder Visual Basic, XAML, Ereignissen und der Ereignisbehandlung vertraut sein.
  • Microsoft Visual Studio muss installiert sein.
  • Ein Drucker muss installiert sein.
  • Sie benötigen eine Windows Store-App mit C++, C# oder Visual Basic, der Sie eine benutzerdefinierte Druckoption hinzufügen möchten. Wenn Sie keine eigene App haben, können Sie die PrintSample-Beispiel-App herunterladen und verwenden.
  • Ihre App muss grundlegende Windows-Druckfunktionen unterstützen. Falls Sie keine App mit entsprechenden Funktionen haben, können Sie unter Schnellstart: Drucken in der App nachlesen, wie Sie Ihrer App Unterstützung für grundlegende Windows-Druckfunktionen hinzufügen.

Anweisungen

1. Öffnen der App in Visual Studio

Das in diesem Lernprogramm beschriebene Verfahren bezieht sich auf die App PrintSample der PrintSample-Beispiel-App. Wenn Sie Ihrer eigenen App eine Druckschaltfläche hinzufügen, öffnen Sie anstelle der PrintSample-Beispiel-App Ihre App in Visual Studio.

  1. Öffnen Sie das Druckbeispiel für eine Windows Store-App, und laden Sie das C#-Beispiel auf Ihren Computer herunter.
  2. Klicken Sie in Visual Studio auf File > Open Project, und navigieren Sie zu dem Ordner, der die Projektmappendatei der im vorhergehenden Schritt heruntergeladenen Beispiel-App enthält.
  3. Wählen Sie die Projektmappendatei PrintSample aus, und klicken Sie auf Öffnen.

2. Erstellen und Testen der App

  1. Klicken Sie auf Erstellen > Projektmappe erstellen, um die App zu erstellen. Stellen Sie sicher, dass unten auf dem Bildschirm keine Fehlermeldungen im Ausgabebereich angezeigt werden.
  2. Klicken Sie auf Debug > Starten ohne Debugging.
  3. Vergewissern Sie sich, dass nach einigen Sekunden die App Print JS Sample angezeigt wird.
  4. Wenn die App ohne Fehler ausgeführt wird, kehren Sie zu Visual Studio zurück, und klicken Sie auf Debuggen > Debugging beenden.

3. Hinzufügen der neuen Option zur Druckvorschau-Benutzeroberfläche

In diesem Schritt erstellen Sie eine neue Druckoption, definieren eine Liste von Werten, die von der Option unterstützt werden, und fügen die Option anschließend der Druckvorschau-Benutzeroberfläche hinzu.

  1. Ändern Sie den PrintTaskRequested-Ereignishandler, um den Code zum Abrufen eines PrintTaskOptionDetails-Objekts hinzuzufügen.

    
    PrintTaskOptionDetails^ printDetailedOptions = PrintTaskOptionDetails::GetFromPrintTaskOptions(printTask->Options);
    
    
    
  2. Erstellen Sie die neue Druckoption, und initialisieren Sie die Liste der Optionswerte.

    
    // Create a new list option
    
    PrintCustomItemListOptionDetails^ pageFormat = printDetailedOptions->CreateItemListOption(L"PageContent", L"Pictures");
    pageFormat->AddItem(L"PicturesText", L"Pictures and text");
    pageFormat->AddItem(L"PicturesOnly", L"Pictures only");
    pageFormat->AddItem(L"TextOnly", L"Text only");
    
    
    
  3. Löschen Sie die Liste der Optionen, die in der Druckvorschau-Benutzeroberfläche angezeigt werden, und fügen Sie die Optionen hinzu, die angezeigt werden sollen, wenn der Benutzer in der App druckt.

    Hinweis  Die Optionen werden in der Druckvorschau-Benutzeroberfläche in der Reihenfolge angezeigt, in der sie hinzugefügt werden, wobei die erste Option oben im Fenster erscheint.

    
    // Choose the printer options to be shown.
    // The order in which the options are appended determines the order in which they appear in the UI
    displayedOptions->Clear();
    
    displayedOptions->Append(StandardPrintTaskOptions::Copies);
    displayedOptions->Append(StandardPrintTaskOptions::Orientation);
    displayedOptions->Append(StandardPrintTaskOptions::ColorMode);
    
    
    
  4. Fügen Sie Ihre benutzerdefinierte Druckoption hinzu, und weisen Sie den Ereignishandler zu.

    In diesem Beispiel wird die benutzerdefinierte Option als Letztes hinzugefügt, sodass sie am Ende der Optionsliste erscheint. Sie könnten sie aber an einer beliebigen Stelle der Liste platzieren. Benutzerdefinierte Druckoptionen müssen nicht zuletzt hinzugefügt werden.

    Die Windows-Druckfunktion ruft diesen Ereignishandler jedes Mal auf, wenn der Benutzer den Wert der benutzerdefinierten Option ändert.

    
    // Add the custom option to the option list
    displayedOptions->Append(L"PageContent");
    
    printDetailedOptions->OptionChanged += ref new TypedEventHandler<PrintTaskOptionDetails^, PrintTaskOptionChangedEventArgs^>(this, &ScenarioInput4::printDetailedOptions_OptionChanged);
    
    
    

4. Hinzufügen des Ereignishandlers für Änderungen der Option

Wenn der Benutzer die ausgewählte Option in Ihrer benutzerdefinierten Druckoption ändert, aktualisieren Sie das Druckvorschaubild.

Diese Implementierung aus Scenario4.htm der PrintSample-Beispiel-App ruft die invalidatePreview-Methode auf, um das Bild in der Druckvorschau-Benutzeroberfläche neu zu zeichnen.


void ScenarioInput4::printDetailedOptions_OptionChanged(PrintTaskOptionDetails^ sender, PrintTaskOptionChangedEventArgs^ args)
{
    // Listen for PageContent changes
    String^ optionId = safe_cast<String^>(args->OptionId);

    if (optionId != nullptr && optionId == L"PageContent")
    {
        RefreshPreview();
    }
}


Zusammenfassung und nächste Schritte

Den vollständigen Quellcode für dieses und andere Druckszenarien mit Windows Store-Apps finden Sie in der PrintSample-Beispiel-App.

Verwandte Themen

Drucken

 

 

Anzeigen:
© 2014 Microsoft