У меня есть объект, у которого есть коллекция дочерних объектов, у каждого из которых есть изображение (ImageSource).
Эта коллекция прекрасно отображается в моем интерфейсе WPF, каждое изображение уникально и правильно.
Я пытаюсь напечатать таблицу этих изображений, однако, когда я делаю, каждое изображение совпадает с исходным, хотя они могут иметь размеры, соответствующие разным размерам.
Я пытался использовать 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");
}
}