如何在打印输出中获得此UI输出?

时间:2012-08-10 05:32:46

标签: c# wpf user-controls

我正在研究WPF应用程序。我必须处理一些打印格式。要解决打印的分页问题,​​我使用以下代码:

     private void Button_Click(object sender, RoutedEventArgs e)
    {
        // Create a PrintDialog
        PrintDialog printDlg = new PrintDialog();

        // Create a FlowDocument dynamically.
        FlowDocument doc = CreateFlowDocument();
        doc.Name = "FlowDoc";
        doc.PageHeight = printDlg.PrintableAreaHeight;
        doc.PageWidth = printDlg.PrintableAreaWidth;
        // Create IDocumentPaginatorSource from FlowDocument
        IDocumentPaginatorSource idpSource = doc;
        // Call PrintDocument method to send document to printer
        printDlg.PrintDocument(idpSource.DocumentPaginator, "Hello WPF Printing."); 

    }

private FlowDocument CreateFlowDocument()
    {

        // Create a FlowDocument
        FlowDocument doc = new FlowDocument();
        int i = 0;
        while (i <2)
        {
            // Create first Paragraph
            Paragraph p1 = new Paragraph();
            MyUserControl comp = new MyUserControl ();
            p1.BorderBrush = new SolidColorBrush(Color.FromRgb(79, 129, 189));
            p1.BorderThickness = new Thickness(3);
            p1.Inlines.Add(comp); 
            // Add Paragraph to Section
            doc.Blocks.Add(p1);
            // Add Section to FlowDocument
            //doc.Blocks.Add(sec);
            i++;
        }

        return doc;

    }

这段代码对我来说很好。

问题:

我只是遇到了使用此代码的UI问题。

这是我现在在纸上的印刷品:

enter image description here

这是我在纸上要求的印刷品:

enter image description here

请提供一些想法和代码,以便我可以解决这个问题。

提前致谢。

0 个答案:

没有答案