Избегайте нескольких столбцов при печати FlowDocument - PullRequest
7 голосов
/ 29 сентября 2011

Я пишу код для печати из FlowDocument.

        PrintDialog printDialog = new PrintDialog();
        bool? result = printDialog.ShowDialog();
        if (result == true)
        {
            FlowDocument fd = new FlowDocument();
            fd.Blocks.Add(new Paragraph(new Run(String.Format("Message:\r\n{0}\r\n", txtMessage.Text))));
            fd.PageHeight = printDialog.PrintableAreaHeight;
            fd.PageWidth = printDialog.PrintableAreaWidth;
            printDialog.PrintDocument((fd as IDocumentPaginatorSource).DocumentPaginator, "print test");
        }

Этот код будет печатать несколько столбцов на одной странице. Как этого избежать?

1 Ответ

13 голосов
/ 29 сентября 2011

Я разобрался.Мне нужно установить ColumnWidth FlowDocument.

fd.PagePadding = new Thickness(50);
fd.ColumnGap = 0;
fd.ColumnWidth = printDialog.PrintableAreaWidth; 
...