Я хочу иметь возможность хранить несколько FlowDocuments в одном пакете, включая изображения и т. Д. В каждом документе.Однако ни один из методов, которые я видел для сохранения (и загрузки) 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 и / или потока моей части, чтобы правильно загрузить соответствующие изображения?