如何保存RichTextBox的文本到数据库from 缝缝补补又三年

如何保存RichTextBox的文本到数据库,包括格式等等,然后需要的再从数据库取出来,并且显示到RichTextBox中。

其实,RichTextBox的文本是一个FlowDocument类型的对象,我们只需要利用XamlReader和XamlWriter就能很好的完成上述工作。

【保存Document到流】

FlowDocument document = richTextBox.Document;

Stream s = new MemoryStream();  // 其他的什么Stream类型都没问题
XamlWriter.Save(document, s);

// 拿到s之后,再转化成二进制数据写到数据库就OK了

byte[] data = new byte[s.Length];

s.Position = 0;

s.Read(byte, 0, s.Length);

s.Close();

// 拿着data干啥都行

// ……

【从数据库中读取】

// data是从数据库中读出来的二进制数据

Stream s = new MemoryStream(data);

FlowDocument doc = XamlReader.Load(s) as FlowDocument;
s.Close();
richTextBox.Document = doc;

原文地址:https://www.cnblogs.com/kevinge/p/1249563.html