Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在打印输出中获得此UI输出?_C#_Wpf_User Controls - Fatal编程技术网

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

C# 如何在打印输出中获得此UI输出?,c#,wpf,user-controls,C#,Wpf,User Controls,我正在处理WPF应用程序。这里我必须处理一些打印格式。要解决打印的分页问题,我使用以下代码: private void Button_Click(object sender, RoutedEventArgs e) { // Create a PrintDialog PrintDialog printDlg = new PrintDialog(); // Create a FlowDocument dynamica

我正在处理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()
{
//创建流程文档
FlowDocument文档=新的FlowDocument();
int i=0;

虽然(我很好的逻辑说,你应该在运行循环之前添加全宽度的静态部分,然后在循环中一个接一个地添加动态部分,但我没有看到你的静态部分,你有没有遗漏发布内容?哦..是的,静态部分遗漏了。这是一个简单的带列的表。
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;

    }