WPF Visual to XPS文档方法仅创建一个页面
我有一个WPF窗口,我想将其保存到XPS文件(或者任何类型的存储窗口图像的文件)中。此窗口包含一个冗长的WPF Visual to XPS文档方法仅创建一个页面,wpf,visual-studio-2010,xpsdocument,Wpf,Visual Studio 2010,Xpsdocument,我有一个WPF窗口,我想将其保存到XPS文件(或者任何类型的存储窗口图像的文件)中。此窗口包含一个冗长的数据网格。到目前为止,我能够写入XPS文件,但生成的文档只包含一页,因此大部分DataGrid行丢失。如何让XPSDocumentWriter使用尽可能多的页面 以下是我到目前为止得到的结果(在写入XPS文件之前,我已经关闭了网格滚动条并自动调整窗口大小,以确保它是全尺寸的): 我认为威尔的评论可能是正确的答案。您必须自己处理所有自定义分页代码。这绝非易事。如果我要这样做,我会想出一个或多个用
数据网格。到目前为止,我能够写入XPS文件,但生成的文档只包含一页,因此大部分DataGrid
行丢失。如何让XPSDocumentWriter
使用尽可能多的页面
以下是我到目前为止得到的结果(在写入XPS文件之前,我已经关闭了网格滚动条并自动调整窗口大小,以确保它是全尺寸的):
我认为威尔的评论可能是正确的答案。您必须自己处理所有自定义分页代码。这绝非易事。如果我要这样做,我会想出一个或多个用户控件来处理分页数据,然后按照已知的行数拆分行(例如,第一页处理10行,溢出页处理80行),填充并将其写入文档。或者尝试创建一个自定义。
Dim visual = CType(Me.Content, Media.Visual)
Me.LogGrid.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden
Me.SizeToContent = Windows.SizeToContent.WidthAndHeight
Dim xd As New System.Windows.Xps.Packaging.XpsDocument(file, IO.FileAccess.ReadWrite)
Dim xw = System.Windows.Xps.Packaging.XpsDocument.CreateXpsDocumentWriter(xd)
xw.Write(visual)
xd.Close()