我试图打印一个WPF FlowDocument。布局需要在每页4个文件的形式,布局如下:WPF流文档布局
Doc1 | Doc2
-------------
Doc3 | Doc4
(对不起,我不能拿出说明布局的更好的方法)。
页需要填补,因此,如果文档1 & 2是空或只是一个或两个字符,它仍然需要打印图像的大小相同文档3 & 4.
我正在使用的代码如下如下(抱歉,这是很长,我试图剥夺在可行情况下):
PrintDialog printDialog = new PrintDialog();
if ((bool)printDialog.ShowDialog().GetValueOrDefault())
{
FlowDocument flowDocument = new FlowDocument();
flowDocument.PageHeight = printDialog.PrintableAreaHeight;
flowDocument.PageWidth = printDialog.PrintableAreaWidth;
flowDocument.PagePadding = new Thickness(25);
flowDocument.ColumnGap = 0;
flowDocument.ColumnWidth = (flowDocument.PageWidth -
flowDocument.ColumnGap -
flowDocument.PagePadding.Left -
flowDocument.PagePadding.Right);
Table myTable = new Table();
myTable.BorderThickness = new Thickness(3);
AddCols(myTable); // Add 2 cols
TableRowGroup rg = new TableRowGroup();
TableRow row = new TableRow();
AddRows(myTable); // Adds 2 rows
TableCell cell = new TableCell(new Paragraph(new Run("Doc1")));
cell.BorderThickness = new Thickness(1);
cell.BorderBrush = Brushes.Black;
// Repeat 4 times
row.Cells.Add(cell);
myTable.RowGroups.Add(rg);
doc.Blocks.Add(myTable);
....
,我有是,虽然这样做印刷,它并不试图如上所述将其调整到页面的问题。我正在尝试做什么,如果有的话,怎么样?
编辑:
从寻找here我相信我所真正需要的是计算该段的高度,这样我就可以设置Padding属性的一种方式。不幸的是,这个链接中提出的解决方案不起作用!
我最初自己也有过类似的想法,但我似乎无法获得它打印网格。 – 2012-07-20 20:21:17
您是否尝试过使用这种方法进行打印?它应该工作。 – 2012-07-21 08:58:50
是的 - 如上所述,我不能让网格控件打印任何东西。上面的代码只是简单的导致了一个空白页 – 2012-07-21 10:54:45