最近遇到RichTextBox,想把里面的内容存取到数据库中,无奈格式是个难题,一种是RTF类型的数据,数据是这样取的 RichTextBox.text里面的内容是RTF类型的,可以直接存储到oracle和sql 数据库中,然后你再从数据库中取出,赋值给RichTextBox.text就搞定了。
我要重点说的是RichTextBox的document类型的,此种类型数据不能直接存入数据库中,因为这种类型是xml类型带有<>符号,程序默认把它列入危险符号,我查看网上的帖子,大部分是把document类型转换为string类型。然后直接存入数据库,这要利用到 System.Windows.Markup.XamlWriter.Save(Document);这个函数,转化成string类型的结果是<FlowDocument PagePadding="5,0,5,0" AllowDrop="True" NumberSubstitution.CultureSource="User" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"><Paragraph><Run FontWeight="Bold" xml:lang="zh-cn" xml:space="preserve">你好 </Run></Paragraph></FlowDocument>,直接把它存入数据库还需要修改ewb.config 修改