【问题标题】:XPS export from WPF - only one image is exported从 WPF 导出 XPS - 仅导出一张图像
【发布时间】:2015-05-17 20:24:21
【问题描述】:

我想将内容从 WPF 应用程序(C#、MVVM)导出到 XPS。 我有一堆对象,每个对象都包含一个图像(type=BitmapFrame),使用 source 属性显示:

<Image Source="{Binding BusinessUnit.Picture}" />

所有这些对象都放置在一个名为 GraphCanvas 的控件上。每张图片都已加载并正确显示在屏幕上。

使用导出代码时:

            using (var package = Package.Open(saveFileDialog.FileName, FileMode.Create))
            {
                var xpsDocument = new XpsDocument(package);

                var writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument);

                writer.Write(GraphCanvas.ExportCanvas);

                xpsDocument.Close();
            }

除图像外,所有内容均已正确导出。仅导出一张图片(浏览 XPS 结构时,它在资源文件夹中可用),并且这张图片用作应导出的所有其他图片的替换。

没有导出所有其他图像的原因可能是什么?

【问题讨论】:

  • 你看看GraphCanvas.ExportCanvas给你的东西,看看它是否有所有的图像?

标签: c# wpf xaml mvvm xps


【解决方案1】:

我在打印多个页面时遇到了类似的问题,最终我不得不迭代页面中的每个项目并执行此操作:

fwElement.Arrange(new Rect(new Size(fwElement.ActualWidth, fwElement.ActualHeight)));

由于您只有一个元素,这可能对您有用:

GraphCanvas.ExportCanvas.Measure(GraphCanvas.ExportCanvas.RenderSize);
GraphCanvas.ExportCanvas.Arrange(new Rect(new Size(GraphCanvas.ExportCanvas.ActualWidth, GraphCanvas.ExportCanvas.ActualHeight)));
writer.Write(GraphCanvas.ExportCanvas);

【讨论】:

    猜你喜欢
    • 2011-09-23
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-07
    • 2013-09-15
    • 1970-01-01
    相关资源
    最近更新 更多