WPF RichTextBox:以自定义格式保存/加载

时间:2010-10-24 20:33:36

标签: c# wpf xaml richtextbox

我需要以自定义格式(类似于Markdown)从WPF RichTextBox加载/保存数据。

RichTextBox支持使用TextRange.Save方法保存/加载几种基本格式(Rtf,Text,Xaml):

using (FileStream fs = File.OpenWrite(file)) {
    TextRange text = new TextRange(rtNote.Document.ContentStart, rtNote.Document.ContentEnd);
    text.Save(fs, DataFormats.Xaml);                
}

实现自定义格式保存/加载的最佳方法是什么?

我能想到的一种方法是将TextRange作为Xaml保存到内存流中,解析生成的XML并对其进行迭代以进行转换。有更简单的方法吗?

2 个答案:

答案 0 :(得分:1)

Extended Toolkit提供了这样的RichTextBox控件

答案 1 :(得分:0)

所有DataFormat.Format只有4个与TextRange.Save兼容:

  

目前支持的数据格式是DataFormats.Rtf,DataFormats.Text,DataFormats.Xaml和DataFormats.XamlPackage

来源:http://msdn.microsoft.com/en-us/library/ms598701.aspx

从我在这个类的反映中看到的,DataFormats没有提供添加新格式的API。