How to print WPF Grid?

I am printing WPF grid. As long as the data fits on one page, everything works fine. But sometimes the grid contains more data. So I need to split the grid into multiple pages. Can anyone help me?

My code looks like this (visual grid).

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");

      

Should I try a different control? I tried WPF Toolkit DataGrid but I was unable to print it. I've heard something about streaming document, can this help me?

Best wishes - Oliver Hanappie

+2


source to share


1 answer


It sounds like you want to use PrintDocument instead of PrintVisual. However, you will probably need to implement your own DocumentPaginator class to split your grid into separate documents for printing.



+1


source







All Articles