WPF打印问题

.Net技术 码拜 9年前 (2016-02-26) 1337次浏览
本身有4个页面要打印,本人用XPS打印打印出来有四个,但是用打印打印出来只打印出一个页面是什么原因,求帮助!
这是打印代码

                gdd.Children.Add(vb1);
                dialog.PrintVisual(VB, "print Test");
                gdd.Children.Remove(vb1);
                gdd.Children.Add(vb2);
                dialog.PrintVisual(VB, "print Test");
                gdd.Children.Remove(vb2);
                gdd.Children.Add(vb3);
                dialog.PrintVisual(VB, "print Test");
                gdd.Children.Remove(vb3);
                gdd.Children.Add(vb4);
                dialog.PrintVisual(VB, "print Test");
                gdd.Children.Remove(vb4);
解决方案

1

打印一个页面时应该立刻“结束”去释放控制给 UI 线程。你应该捕获到“打印完成”事件之后,才执行下一个页面打印语句。
编程设计要从事件驱动角度去设计流程,不要一根筋地写这类代码。
一般来说,windows系统下有庞大的线程处理各种各样并发性需求,所以windows系统不让你滥用线程。那么你“打印一个页面”,就应该把控制权交还给windows,然后等下一个事件触发是才去打印下一个页面,这个过程中并不需要子线程编程(在此滥用线程概念是不应该的),而是需要事件驱动编程。

39

不解释,哥已解决。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明WPF打印问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)