我有一个对象,该对象包含子对象的集合,每个子对象都有一个图像(ImageSource)。
此收藏集在我的WPF用户界面中显示良好,每个图像都是唯一且正确的。
我正在尝试打印一张包含这些图像的表格,但是当我执行每张图像时,它们都与原始图像相同,尽管它们的大小可能会因尺寸而异。
在创建Image对象并将其添加到表中之后,我尝试过使用InvalidateVisual,但到目前为止还没有运气。
public static void Print(MyObject obj)
{
System.Windows.Controls.PrintDialog Printdlg = new System.Windows.Controls.PrintDialog();
if ((bool)Printdlg.ShowDialog().GetValueOrDefault())
{
FlowDocument doc = new FlowDocument {
//Name = DocumentName,
// MaxPageWidth = labelPrinter.MaxPageWidth,
//MaxPageHeight = labelPrinter.MaxPageHeight
};
var table1 = new Table();
doc.Blocks.Add(table1);
table1.Columns.Add(new TableColumn());
table1.Columns.Add(new TableColumn());
table1.RowGroups.Add(new TableRowGroup());
foreach(MyObjectChild item in obj.Items)
{
var row = new TableRow();
System.Windows.Controls.Image image = new System.Windows.Controls.Image() {
Source = item.ImageSource,
};
row.Cells.Add(new TableCell(new BlockUIContainer(image)));
row.Cells.Add(new TableCell(new Paragraph(new Run(item.Description))));
table1.RowGroups[0].Rows.Add(row);
}
IDocumentPaginatorSource idpSource = doc;
Printdlg.PrintDocument(idpSource.DocumentPaginator, "shipmentslip");
}
}