Impressão com Silverlight 4
Neste artigo será demonstrado como acessar o dispositivo de impressão com Silverlight. A API do Silverlight permite imprimir: o que está na tela, o conteúdo selecionado e múltiplas impressões.
A classe PrintDocument, presente no namespace System.Windows.Printing fornece capacidades de impressão a partir de um aplicativo Silverlight. Para abrir uma caixa de diálogo de impressão deverá usar o método Print .
Para especificar o conteúdo para impressão, é preciso utilizar o evento PrintPage. Você pode imprimir o controle Silverlight todo, definindo a propriedade do PrintPageEventArgs
PageVisual para “root” do conteúdo Silverlight. Alternativamente, você pode imprimir uma parte do controle Silverlight definindo PrintPageEventArgs PageVisual colocando somente o UIElement que você deseja imprimir
Após o evento PrintPage ocorrer, o será enviado para a impressora a ser impresso. Se o conteúdo é grande demais para caber na PrintableArea, ela será cortada. Se o HasMorePages propriedade é verdadeira, o evento PrintPage ocorrerá várias vezes até o HasMorePages ser falsa.
Use o evento BeginPrint para realizar um tratamento especial e o EndPrint para limpar ou para detectar erros que ocorreram durante o processo de impressão com a propriedade EndPrintEventArgs. Erro.

