Je construis une application Silverlight 4. Cette application va imprimer le contenu d'un ItemsControl. Cette ItemsControl utilise un ItemTemplate pour rendre les éléments liés au contrôle. En tout, j'ai 500 objets qui sont liés au contrôle.Silverlight 4 - Print Items Control
Bizarrement, lorsque j'essaie d'imprimer le ItemsControl, il semble que celui-ci soit coupé après un certain point. Je ne peux pas dire quand il est coupé. Je sais juste que ça se coupe. J'ai l'impression que cela a quelque chose à voir avec la virtualisation. Cependant, je ne suis pas sûr de savoir comment surmonter cela. Actuellement, j'imprime le ItemsControl comme ceci:
private void printHyperlink_Click(object sender, RoutedEventArgs e)
{
PrintDocument printDocument = new PrintDocument();
printDocument.BeginPrint +=
new EventHandler<BeginPrintEventArgs>(printDocument_BeginPrint);
printDocument.PrintPage +=
new EventHandler<PrintPageEventArgs>(printDocument_PrintPage);
printDocument.EndPrint +=
new EventHandler<EndPrintEventArgs>(printDocument_EndPrint);
printDocument.Print("My Items");
}
void printDocument_BeginPrint(object sender, BeginPrintEventArgs e)
{}
void printDocument_PrintPage(object sender, PrintPageEventArgs e)
{ e.PageVisual = myItemsControl; }
void printDocument_EndPrint(object sender, EndPrintEventArgs e)
{}
Qu'est-ce que je fais mal? Comment puis-je m'assurer que tous les éléments de mon ItemsControl sont imprimés lorsqu'ils sont rendus?
+1, Ceci est une très bonne question. – AnthonyWJones
500 valeurs qui est plus qu'une page droite? Vous définissez la propriété HasMorePages sur true pour indiquer cela? – texmex5