WPF应用程序通过doPDF打印机打印到文件后引发异常

Pan*_*yay 5 printing wpf xaml

我已经为会计目的制作了一个wpf独立应用程序.该应用程序可以很好地打印到外部打印机或Microsoft XPS打印机.当我选择doPDF(输出pdf文件的应用程序)作为打印机时出现问题.输出很好; 它创建pdf文件并保存它,但是,当我回到应用程序并按任意按钮时,XamlParseException未处理错误被抛出,

'对与指定的绑定约束匹配的类型'RegisterMaintenance.DisplayInvoice'的构造函数的调用引发了异常.行号'5'和行位置'7'

InnerException:验证文件是否存在于指定位置

InnerException:使用相对路径时,请确保当前目录正确

为什么会发生这种情况,我该怎么做才能摆脱这个问题.

Edw*_*ing 3

似乎这个 pdf 打印机更改了进程的当前目录。我可以为你的问题想出两种可能的解决方法。

解决您的问题的第一个也是最明显的解决方法是使用“Transactions.xml”的绝对路径并将其存储在您的 app.config 中。然而,如果您的应用程序分布到各种不同的计算机并安装在不同的位置,这可能会出现问题。

第二种解决方法是在调用打印函数之前临时存储当前工作目录,然后在调用打印函数后将其恢复(如果已更改)。像这样的东西:

string path = Directory.GetCurrentDirectory();
//Do the print stuff
Directory.SetCurrentDirectory(path);
Run Code Online (Sandbox Code Playgroud)