2009-09-08 104 views
2

我正在打印一个WPF网格。只要数据适合一页,一切正常。但有时网格包含更多数据。因此我需要将网格分成多个页面。有谁能够帮助我?如何打印WPF网格分页?

我的代码看起来像这样(visual是网格)。

var printCapabilities = printDialog.PrintQueue.GetPrintCapabilities(printDialog.PrintTicket); 

var size = new Size(printCapabilities.PageImageableArea.ExtentWidth, 
    printCapabilities.PageImageableArea.ExtentHeight); 

visual.Measure(size); 
visual.Arrange(new Rect(new Point(printCapabilities.PageImageableArea.OriginWidth, 
    printCapabilities.PageImageableArea.OriginHeight), size)); 

printDialog.PrintVisual(visual, "Print ListView"); 

我应该尝试另一种控制吗?我试过WPF Toolkit DataGrid,但是我无法打印它。我听说过一些流程文档,可以帮助我吗?

问候
奥利弗Hanappi

+0

嗨!我正在使用FlowDocument,这当然支持分页。不幸的是,在许多页面上拆分列仍然是一个问题:http://stackoverflow.com/questions/1420162/how-to-print-a-wpf-flow-document-table-across-multiple-pages-if-there-是太男人 – 2009-09-15 08:49:18

回答

1

这听起来像你想使用的PrintDocument而不是PrintVisual。不过,您可能需要实现自己的DocumentPaginator类,才能将网格分割为单独的可打印文档。