我正在构建Silverlight 4应用程序。这个应用程序将打印一个ItemsControl的内容。此ItemsControl使用ItemTemplate呈现绑定到控件的项目。总而言之,我有500件必然会受到控制的物品。Silverlight 4 - 打印项目控件
奇怪的是,当我试图打印ItemsControl时,它似乎在某个点后切断。我无法分辨它何时被切断。我只知道它会被切断。我有一个预感它与虚拟化有关。但是,我不知道如何克服这一点。目前,我正在打印像这样的ItemsControl:
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)
{}
我在做什么错?我如何确保我的ItemsControl中的所有项目在呈现时都被打印?
+1,这是一个很好的问题。 – AnthonyWJones 2010-05-05 15:50:01
超过一页的500个值是正确的?你确实将HasMorePages属性设置为true来表明这一点? – texmex5 2010-05-05 21:00:48