Compartir a través de


PrintTaskOptionChangedEventArgs Clase

Definición

Se le llama cuando ha cambiado una opción de tarea de impresión.

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
Herencia
Object Platform::Object IInspectable PrintTaskOptionChangedEventArgs
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0 - for Xbox, see UWP features that aren't yet supported on Xbox)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Comentarios

Este es un fragmento de código que muestra cómo recuperar el objeto cuando ha cambiado una opción de tarea de impresión. En primer lugar, la aplicación debe registrarse para escuchar los cambios de opción. Una vez que se cambia la opción, se realiza una devolución de llamada al agente de escucha de eventos.

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

Para ver la lista completa de este y otros escenarios de impresión con PrintTask, consulta Impresión y muestra de impresión para UWP.

Propiedades

OptionId

Obtiene el identificador de la opción de tarea de impresión que cambió.

Se aplica a