如何打印WPF网格分页?
问题描述:
我正在打印一个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
答
这听起来像你想使用的PrintDocument而不是PrintVisual。不过,您可能需要实现自己的DocumentPaginator类,才能将网格分割为单独的可打印文档。
嗨!我正在使用FlowDocument,这当然支持分页。不幸的是,在许多页面上拆分列仍然是一个问题:http://*.com/questions/1420162/how-to-print-a-wpf-flow-document-table-across-multiple-pages-if-there-是太男人 – 2009-09-15 08:49:18