2013-05-06 3 views
-2

Я пытаюсь напечатать некоторые параграфы и изображения с использованием потока документа, как показано в коде нижеSystem.InvalidOperationException: Конкретный элемент уже является логическим дочерним элементом другого элемента. Отключение является первым

Paragraph invoiceID = new Paragraph(new Run("Invoice No : "+ txtInvoiceID.Text)); 
Paragraph qty001 = new Paragraph(new Run("Quantity : " + qtyText.Text)); 
Paragraph date001 = new Paragraph(new Run("Date : " +txtInvoiceDate.Text)); 

Section sec = new Section(); 
sec.Blocks.Add(invoiceID); 
sec.Blocks.Add(qty001); 
sec.Blocks.Add(date001); 

FlowDocument fd = new FlowDocument(); 
PrintDialog pd = new PrintDialog(); 

fd.PageHeight = pd.PrintableAreaHeight; 
fd.PageWidth = pd.PrintableAreaWidth; 
fd.PagePadding = new Thickness(50); 
fd.ColumnWidth = pd.PrintableAreaWidth; 
fd.Blocks.Add(sec); 
fd.Blocks.Add(new BlockUIContainer(barCodeImage)); 

IDocumentPaginatorSource dps = fd; 
pd.PrintDocument(dps.DocumentPaginator,"Desciption"); 

Я знаю, изображение блокируется процессом, но как я могу открыть этот файл ??

Любая помощь, пожалуйста

Благодаря

Jazaib

+0

Блокировка изображения не имеет ничего общего с вопросом, поставленным в вашем названии. –

ответ

0

В WPF каждый элемент управления может иметь только один из родителей, так как вы уже определили barCodeImage в XAML, то ребенок какой-то контейнер. , так что вы можете либо удалить его из контейнера, либо клонировать изображение.

+0

Как я могу удалить его или клонировать его? –

Смежные вопросы

 Смежные вопросы