Выдача печатного документа - PullRequest
0 голосов
/ 16 января 2012

Попытка распечатать потоковый документ.Я печатаю документ в пределах foreach и меняю имя каждый проход.Моя проблема в том, что после того, как я распечатал его в первый раз, имя не изменилось во второй / и т.д.время через петлю.Почему это?Вот код

PrintDialog p = new PrintDialog();
                if (p.ShowDialog().Value == true)
                {
                    foreach (CustCnt c in customerContacts)
                    { 
                        ((TextBlock)doc.FindName("Name")).Text = c.Name;

                        SelectCOADelivery("FaxLabel", "FaxNumber", c.CheckBox17, c.FaxNum, doc);
                        SelectCOADelivery("EmailLabel", "Email", c.CheckBox16, c.EMailAddress, doc);
                        SelectCOADelivery("LoadLabel", null, c.CheckBox18, null, doc);

                        ((TextBlock)doc.FindName("FaxNumber")).Text = c.FaxNum;
                        ((TextBlock)doc.FindName("Email")).Text = c.EMailAddress;
                        p.PrintDocument(((IDocumentPaginatorSource)doc).DocumentPaginator, "Baker Data");
                    }
                }

1 Ответ

2 голосов
/ 17 января 2012

Я думаю, что вы пытаетесь напечатать документ до рендеринга макета.Попробуйте позвонить

UpdateLayout();

перед печатью документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...