2010-09-27 18 views
6

¿Alguien sabe si puede averiguar si se hizo clic en la cancelación del cuadro de diálogo de impresión?Cancelar el diálogo de impresión de captura en impresión Silverlight

que he visto puesto y doc que dicen "EndPrint - Evento Se activa cuando la impresión se complete o se cancela."

Pero no creo que esto es de cancelado el diálogo de impresión ... Creo que la es si el trabajo de impresión se cancela.

gracias

+0

Tengo problemas con esto también. Básicamente si cancela el diálogo de impresión, entonces el evento EndPrint nunca se dispara. Puede ver los efectos de esto aquí: el código se escribe para limpiar después de una Impresión final, pero si lo cancela en lugar de imprimirlo, la próxima vez que lo intente, el control cree que todavía está imprimiendo. http://www.davidpoll.com/Samples/SLaB/#pack/siteoforigin:,,ScratchPrintingProject.xap/ScratchPrintingProject;component/PrintingPage.xaml – pho79

Respuesta

2

Basándose en la documentación, no creo que hay una manera fácil: http://msdn.microsoft.com/en-us/library/system.windows.printing.printdocument.endprint(v=VS.95).aspx

En particular:

El evento EndPrint no ocurrirá si el usuario cancela la operación de impresión desde el cuadro de diálogo de impresión. Un evento BeginPrint siempre ocurrirá antes de un evento EndPrint.

Al parecer el evento EndPrint es sólo para limpiar en el caso del documento de imprimirlo, no en el caso de cancelar el diálogo de impresión.

0

Hay un modo, si el evento 'PrintPage' no se LLAMA después de llamar al método 'printDocument.Print()' que significa que el botón 'Cancelar' fue presionado en el cuadro de diálogo de impresión.

Espero que ayude.

Cuestiones relacionadas