我怎么能保存一个richtextbox的所有颜色的文本到json后把它放回去



我在WPF上有一个richtextbox有很多不同的颜色,大小,粗体/下划线文本等我想知道如何将所有这些文本保存到json文件或对象的参数中以便稍后将其放回去

RichTextBox.SaveFile(); // dont exist 

我不能序列化Richtextbox。记录它给我一个循环错误由于

基于这些说明和TextRange的文档,我创建了一个小方法来获取RTF格式的RichTextBox的内容:

string GetRtf(RichTextBox rtb)
{
TextRange textRange = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
using (var stream = new MemoryStream())
{
textRange.Save(stream, DataFormats.Rtf);
stream.Position = 0;
using (var reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}
} 

当然,您也可以将内容直接保存到FileStream而不是MemoryStream.
您可以使用此方法将内容作为字符串保存在您想要的任何地方。稍后,您将需要Load()将其读取回您的控制。

最新更新