【问题标题】:WPF Visual to XPS document method creates only one pageWPF Visual to XPS 文档方法只创建一页
【发布时间】:2013-09-13 21:30:35
【问题描述】:

我有一个 WPF 窗口,我想将它保存到 XPS 文件(或者实际上是任何类型的可以存储窗口图像的文件)。此窗口包含一个冗长的DataGrid。到目前为止,我能够写入 XPS 文件,但生成的文档仅包含一页,因此大部分 DataGrid 行都丢失了。如何让XPSDocumentWriter 使用尽可能多的页面?

这是我目前所得到的(我已关闭网格滚动条并自动调整窗口大小以确保在写入 XPS 文件之前它是全尺寸的):

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()

【问题讨论】:

  • 您必须自己处理所有自定义分页代码。这绝非简单。如果我要这样做,我会想出一个或多个处理分页数据的用户控件,然后按照已知的行数拆分行(例如,第一页句柄 10 行,溢出页句柄 80 行),填充 '将它们写到文档中。或者尝试创建一个自定义的document paginator like in this CodeProject article

标签: wpf visual-studio-2010 xpsdocument


【解决方案1】:

我认为威尔的评论可能是正确的答案。

【讨论】:

    猜你喜欢
    • 2010-12-26
    • 2010-09-26
    • 1970-01-01
    • 2015-09-01
    • 2018-01-09
    • 2014-03-20
    • 2012-03-15
    • 2011-02-04
    • 1970-01-01
    相关资源
    最近更新 更多