XPS Document Writer中的WPF打印

| 我已经实现了打印功能,可以通过使用PrintVisual方法在WPF应用程序中打印某些财务图表。由于用户可以自由更改其窗口大小和/或屏幕分辨率,因此我使用LayoutTransform,Measure和Arrange方法来确保打印的图表均匀地分布在整个页面上,而不管应用程序的大小如何窗口。当用户在实际打印机上打印或选择“ PDF打印驱动程序”进行打印时,所有功能都可以正常工作。布局转换在幕后生效,并显示在印刷品中,但用户不会在屏幕上看到任何闪烁或显示变化。 当用户选择XPS Document Writer时,就会出现问题。当用户这样做时,屏幕上的布局也会更改。当“另存为”对话框出现时,屏幕布局将根据所提供的LayoutTransform进行更改,从而使图表变小或变大。用户保存XPS文件或在“另存为”对话框中单击“取消”时,布局将恢复正常。但是奇怪的是,只有在选择XPS Document Writer时才会发生这种情况。 但是,用户不想看到此情况。在XPS Document Writer的情况下,我该怎么做才能防止这种情况发生? 请提出建议。谢谢     
已邀请:
也许您可以在应用变换之前对画布或视觉对象进行克隆。克隆不是wpf UIElements内置的,但是您可以使用XamlWriter.Save()和XamlReader.Load通过XmlReader进行克隆。 google \“ wpf clone UIElement \”,或者如果您认为这是可行的方法,则可以发布一些代码。     

要回复问题请先登录注册