【发布时间】:2010-05-05 14:42:12
【问题描述】:
我正在构建一个 Silverlight 4 应用程序。此应用程序将打印 ItemsControl 的内容。此 ItemsControl 使用 ItemTemplate 呈现绑定到控件的项。总之,我有 500 个项目绑定到控件。
奇怪的是,当我尝试打印 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,这是一个很好的问题。
-
超过一页的 500 个值对吗?您确实将 HasMorePages 属性设置为 true 以表明这一点?
标签: silverlight silverlight-4.0