我想将内容从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结构时,它在资源文件夹中可用),并且这一个图像用作替换应导出的每个其他图像。
可能导致所有其他图像未导出的原因是什么?
答案 0 :(得分:0)
我在打印多个页面时遇到了类似的问题,最终我不得不在页面中的每个项目上进行迭代并执行此操作:
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);