Condividi tramite


PrintTaskOptionChangedEventArgs Classe

Definizione

Chiamato quando è stata modificata un'opzione dell'attività di stampa.

public ref class PrintTaskOptionChangedEventArgs sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class PrintTaskOptionChangedEventArgs final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class PrintTaskOptionChangedEventArgs
Public NotInheritable Class PrintTaskOptionChangedEventArgs
Ereditarietà
Object Platform::Object IInspectable PrintTaskOptionChangedEventArgs
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 (è stato introdotto in 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)

Commenti

Ecco un frammento di codice che mostra come recuperare l'oggetto, quando un'opzione di attività di stampa è stata modificata. Prima di tutto, l'app deve registrare per ascoltare le modifiche delle opzioni. Una volta modificata l'opzione, viene eseguito un callback al listener dell'evento.

//  Retrieve the advanced Print Task Options.
PrintTaskOptionDetails printDetailedOptions = PrintTaskOptionDetails.GetFromPrintTaskOptions(printTask.Options);

// Create a new list option.
PrintCustomItemListOptionDetails margins = printDetailedOptions.CreateItemListOption("Margins", "Margins");
margins.AddItem("WideMargins", "Wide", "Each margin is 20% of the paper size", await wideMarginsIconTask);
margins.AddItem("ModerateMargins", "Moderate", "Each margin is 10% of the paper size", await moderateMarginsIconTask);
margins.AddItem("NarrowMargins", "Narrow", "Each margin is 5% of the paper size", await narrowMarginsIconTask);

// Add the custom option to the option list
printDetailedOptions.DisplayedOptions.Add("Margins");

printDetailedOptions.OptionChanged += printDetailedOptions_OptionChanged;
async void printDetailedOptions_OptionChanged(PrintTaskOptionDetails sender, PrintTaskOptionChangedEventArgs args)
{
    string optionId = args.OptionId as string;
    if (string.IsNullOrEmpty(optionId))
    {
        return;
    }

    if (optionId == "Margins")
    {
        PrintCustomItemListOptionDetails marginsOption = (PrintCustomItemListOptionDetails)sender.Options["Margins"];
        string marginsValue = marginsOption.Value.ToString();

        switch (marginsValue)
        {
            case "WideMargins":
                ApplicationContentMarginTop = 0.2;
                ApplicationContentMarginLeft = 0.2; 
                break;
            case "ModerateMargins":
                ApplicationContentMarginTop = 0.1;
                ApplicationContentMarginLeft = 0.1;
                break;
            case "NarrowMargins":
                ApplicationContentMarginTop = 0.05;
                ApplicationContentMarginLeft = 0.05;
                break;
        }
    }
}

Per visualizzare l'elenco completo per questo e altri scenari di stampa usando PrintTask, vedere Stampa e esempio di stampa UWP.

Proprietà

OptionId

Ottiene l'ID dell'opzione attività di stampa modificata.

Si applica a