有没有办法打印在内存收集或可变大小的WPF?
我使用下面的代码打印ListView控件。但当内容大于垂直滚动条时,垂直滚动条就会接管并剪切内容。
PrintDialog printDialog = new PrintDialog();
printDialog.ShowDialog();
printDialog.PrintVisual(lvDocumentSummary, "testing printing!");发布于 2008-12-19 09:41:52
要打印多个页面,只需使用实现DocumentPaginator的类FixedDocument是比较复杂的实现之一,FlowDocument是一个比较简单的实现。
FlowDocument fd = new FlowDocument();
foreach(object item in items)
{
fd.Blocks.Add(new Paragraph(new Run(item.ToString())));
}
fd.Print();或
PrintDialog pd = new PrintDialog();
pd.PrintDocument(fd);发布于 2008-10-16 10:05:27
与任何其他FixedDocument文档一样,xaml支持DataBinding (FlowDocument除外)。只需将列表视图托管在一个固定的文档中,并将其显示在一个DocumentViewer中(它具有内置的打印支持)。
但是,如果列表对于一个页面来说太长,FixedDocument不会自动生成新页面(就像flowdocument那样)。因此,您必须使用代码直接创建一个新页面,因为这不能在纯xaml中完成。
发布于 2008-10-16 09:59:56
如果你想从WPF打印良好,你需要建立一个FixedDocument并打印它,不幸的是,它可以非常复杂,这取决于你试图打印的内容。
这里有一些创建FixedDocument的示例代码:http://www.ericsink.com/wpf3d/B_Printing.html
https://stackoverflow.com/questions/205112
复制相似问题