我希望能够在单个包中存储多个 FlowDocument,包括每个文档中的图像等。但是,我见过的用于保存(和加载)Xaml FlowDocuments 的方法似乎都没有这种能力。
- TextRange.Save 与 DataFormats.Xaml 剥离图像和其他嵌入内容
- TextRange.Save 与 DataFormats.XamlPackage 创建一个全新的包,而不是让我将文档和包含的图像视为包中的一部分,我将其存储在其中
- XamlWriter 看起来可能对此有好处,但我不知道如何找到所有嵌入对象以放入它们自己的部分(尽管我当然知道一旦找到它们就知道如何处理它们)。另一方面,我不知道以后如何正确加载所有内容。
没有将 FlowDocument 及其图像等序列化到 PackagePart 的一站式方法,这很烦人。如果有人想出了这样做的好方法,你是怎么做到的?
更新 2011-07-03 00:22:使用 XamlWriter 和这个问题中的一些额外代码,我已经能够构建一个快乐的小 OPC 兼容包,它可以包含多个 FlowDocuments,包括它们的图像,作为 PackageParts。但是,另一种方式(从 PackagePart 到 FlowDocument)失败了,因为无论我如何尝试加载文档,我都会收到 XamlParseExceptions 告诉我
'System.Windows.Media.Imaging.BitmapImage' 的初始化引发了异常。
所以,现在的问题变成了,我如何处理 XamlReader.Load 和/或我的部分流以正确加载相关图像?