我已经实现了一个打印功能,通过使用 PrintVisual 方法在我的 WPF 应用程序中打印一些财务图表。由于用户可以自由更改他/她的窗口大小和/或屏幕分辨率,我使用了 LayoutTransform、Measure 和 Arrange 方法来确保打印的图表均匀分布在整个页面上,而与应用程序窗口的大小无关. 当用户在实际打印机上打印或选择 PDF 打印驱动程序进行打印时,一切都运行良好。布局变换在幕后生效并显示在打印中,但用户不会在屏幕上体验到任何闪烁或显示变化。
当用户选择 XPS Document Writer 时,问题就出现了。当用户这样做时,屏幕上的布局也会改变。当“另存为”对话框出现时,屏幕布局会根据提供的 LayoutTransform 更改,从而使图表变小或变大。当用户保存 XPS 文件或点击“另存为”对话框中的取消时,布局恢复正常。但奇怪的是,这只有在我们选择 XPS Document Writer 时才会发生。
但是,用户不想看到这个。在 XPS Document Writer 的情况下,我能做些什么来防止这种情况发生?
请建议。谢谢