代码之家  ›  专栏  ›  技术社区  ›  Oliver Hanappi

如何打印wpf网格页面?

  •  2
  • Oliver Hanappi  · 技术社区  · 15 年前

    我正在打印一个wpf网格。只要数据放在一页纸上,一切都正常。但有时网格包含更多的数据。因此我需要将网格分成多个页面。有人能帮我吗?

    我的代码看起来是这样的(可视化就是网格)。

    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,但我没能打印出来。我听说过一个流量文档,能帮我吗?

    最好的问候
    奥利弗·哈纳比

    1 回复  |  直到 15 年前
        1
  •  1
  •   bearda    15 年前

    听起来你想用printdocument而不是printvisual。不过,您可能需要实现自己的documentpaginator类,以便将网格拆分为单独的可打印文档。