我正在尝试从DocumentViewer打印文档,在打印之前和之后需要执行一些操作,如下所示:
private void PrintDocument(object sender, RoutedEventArgs e) {
PrePrintAction();
MyDocumentViewer.Print();
PostPrintAction();
}
当用户按下'打印时,会调用 PrintDocument
DocumentViewer上的按钮。
我的问题是MyDocumentViewer.Print()
命令在PrintDocument
函数退出之前实际上并没有实际打印任何内容,这意味着PostPrintAction
在打印机之前运行打印任何东西但是,它必须在执行物理打印后运行。
任何人都可以帮我弄清楚为什么打印在功能退出之前不会执行?什么是解决这个问题的最佳方法?我已经尝试过使用BackgroundWorker在另一个线程上运行print命令但是并没有真正得到它。