Как преобразовать FlowDocument в rtf

вы просто размещаете метку-розетку маршрутизатора

держите метку-розетку маршрутизатора там, где вы хотите отобразить маршрутизируемый компонент

вот раздвоенный репо stackblitz Forked Stackblitz [ 113]

9
задан hlovdal 23 May 2009 в 00:58
поделиться

2 ответа

Вы не должны сохранять FlowDocument напрямую, поскольку его следует рассматривать как представление документа во время выполнения, а не фактическое содержимое документа. Вместо этого используйте класс TextRange для сохранения и загрузки в различные форматы, включая Rtf .

Быстрый пример того, как создать выделение и сохранить в потоке:

var content = new TextRange(doc.ContentStart, doc.ContentEnd);

if (content.CanSave(DataFormats.Rtf))
{
    using (var stream = new MemoryStream())
    {
        content.Save(stream, DataFormats.Rtf);
    }
}

Чтобы загрузка содержимого в выборку будет аналогичной:

var content = new TextRange(doc.ContentStart, doc.ContentEnd);

if (content.CanLoad(DataFormats.Rtf))
{
    content.Load(stream, DataFormats.Rtf);
}
26
ответ дан 4 December 2019 в 08:52
поделиться

На меня это действует как чары. Без проблем отображает результат в поле RTF.

public static string getDocumentAsXaml(IDocumentPaginatorSource flowDocument)
{
     return XamlWriter.Save(flowDocument);
}
2
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: