【发布时间】:2009-07-24 12:04:16
【问题描述】:
我在ScrollViewer 中托管了一个ItemsCollection,它的大小足以在打印时跨越多个页面。到目前为止,我已经设法使用PrintVisual(itemsControl) 打印单个页面,但根据我所读到的,我需要以不同的方式在多个页面上打印单个控件。谁能指出我正确的方向?
谢谢!
【问题讨论】:
标签: wpf printing itemscontrol
我在ScrollViewer 中托管了一个ItemsCollection,它的大小足以在打印时跨越多个页面。到目前为止,我已经设法使用PrintVisual(itemsControl) 打印单个页面,但根据我所读到的,我需要以不同的方式在多个页面上打印单个控件。谁能指出我正确的方向?
谢谢!
【问题讨论】:
标签: wpf printing itemscontrol
您需要做的是剪辑。
您必须根据您的页面大小计算剪辑大小并将控件的图像剪辑成所需数量的部分,并将这些剪辑图像保存在列表中并将它们发送到您的 preint 逻辑。
程序:
您需要使用所需的编码将视觉对象转换为 RenderTargetBitmap。
然后,通过使用 CroppedBitmap,您可以将位图图像裁剪为所需的尺寸。然后,像这样将这些剪辑保存在List<Image> 中。然后,使用您的打印逻辑迭代并打印它们。如果您想要样品,我会尽力提供。我认为这是一个很老的帖子。希望这对将来的某些人有所帮助。
【讨论】:
在 CodePlex 上检查 WPF Reports 的这个实现。我在我的一个应用程序中使用了这些,它正是这样做的。如果您想知道如何......只需查看代码。
【讨论】: