做一个项目,需要图文一起存入数据库,在网上浏览了很久。终于实现了在RICHTEXTBOX里面和数据库读写图文的方法。

存入数据库。

public string toxaml()
        {
           // Stream s = new MemoryStream();  // 其他的什么Stream类型都没问题
           XamlWriter.Save(
            MemoryStream s=new MemoryStream();
            TextRange documentTextRange = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            documentTextRange.Save(s, DataFormats.XamlPackage);
          return Convert.ToBase64String(s.ToArray());
            //return Convert.ToString(s.ToArray());

}

然后存入数据库。

注意不能用//return Convert.ToString(s.ToArray());不知道什么原因。用这句存入数据库是SYSTEM..BYTE[] ?

读取数据库

TextRange tr = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            convert string to MemoryStream  
            //MemoryStream ms = GetMemoryStreamFromString(buffer);
            //tr.Load(ms, DataFormats.XamlPackage);  
            MemoryStream s = new MemoryStream((Convert.FromBase64String(buffer)));
            //   XmlReader xr = XmlReader.Create(s);
            //FlowDocument fd = XamlReader.Load(xr) as FlowDocument;
            //this.richTextBox1.Document = fd;
            TextRange TR = new TextRange(this.richTextBox1.Document.ContentStart, this.richTextBox1.Document.ContentEnd);
            TR.Load(s, DataFormats.XamlPackage);

Xaml文件有两种,一种是保存图片的地址的Xaml,另外一种是直接保存图片的XamlPackage。使用直接保存图片的模式,这样图片是以二进制的形式存在Xaml文件中的,读取后就不会有问题了。另外读取时使用的是TextRange.Load,格式选择就是XamlPackage。读取Xaml也没有问题,还可以读Rtf和Text文件。XamlReader不适合用来读取FlowDocument的内容。

转载为 http://blog.csdn.net/thebesttome/article/details/6302075  便于自学

转载于:https://www.cnblogs.com/skyto/p/3460646.html

wpf richtextbox 存储到数据库并显示相关推荐

  1. JavaWeb上传图片到服务器,存储到数据库,并在页面显示

    JavaWeb上传图片到服务器,存储到数据库,并在页面显示 Servlet @Overrideprotected void doPost(HttpServletRequest req, HttpSer ...

  2. RDLC报表显示存储于数据库的图片

    图片以二进制存储于数据库表中.在显示RDLC报表时,把图片呈现出来. 好吧. 把存储过程写好: CREATE PROCEDURE [dbo].[usp_File_Select] AS SELECT [ ...

  3. 微信昵称在数据库存储处理,解决显示乱码方案

    微信昵称在数据库存储处理,解决显示乱码方案 原理:我们先将微信昵称编码存入数据库,显示的时候解码,就可以避免数据库无法直接存储微信昵称中的特殊字符. 一.定义编码解码类 <?php /*** C ...

  4. 数据库存储图片路径并显示到前端

    数据库存储图片路径并显示到前端 -为啥不直接存图片:因为图片本身太大了,虽然存取方便了程序员,但对数据库不友好.所以采取存取路径,再根据路径解析的方法. 一.数据库表设计: 从以上思想出发,需要存图片 ...

  5. mysql数据库存储富文本格式_使用格式将富文本框的数据存储到数据库

    我是wpf的新手,我想将富文本框的数据及其格式(斜体,彩色,粗体..)存储到数据库(Mysql)中.目前,当我保存数据时,格式化将被忽略.此外,当我将其从数据库加载回富文本框时,它会在同一行中显示所有 ...

  6. android模拟器的数据存放,Android模拟器在哪里存储SQLite数据库?

    Android模拟器在哪里存储SQLite数据库? 我正在开发一个将数据存储在SQLite数据库中的Android应用程序. 我的问题是,当您使用模拟器时,此数据库文件存储在文件系统中的哪个位置? 我 ...

  7. java rsa 存数据库_java – 如何创建RSA密钥对以便将其存储在数据库中?

    我正在尝试实现变异加密算法(理论上由我开发)并作为需求的一部分,我需要生成一个RSA密钥对并将其存储在数据库中,以便以后作为加密过程的一部分进行检索(仅用于加密会话密钥,以便可以使用加密的消息安全地发 ...

  8. 如何用DELPHI实现把WORD、EXCEL和图片等存储到数据库中

    如何用DELPHI实现把WORD.EXCEL和图片等存储到数据库中 用image字段保存这些文档.     var         word_stream:   TMemoryStream;      ...

  9. 如何将类序列化并直接存储入数据库

    本文将从这两个格式器入手,先向大家介绍分别用它们如何实现序列化和反序列化,然后比较两种格式器的不同点.接着我会向大家介绍实现序列化对对象类型的一些要求,同时还要向大家介绍两种不同的序列化方式:基本序列 ...

最新文章

  1. 第十六届全国大学生智能汽车竞赛RT-Thread创新专项奖
  2. Linux下的TCP Wrapper机制
  3. 小马哥spring编程核心思想_Spring核心思想理解
  4. AdaBoost算法源码分析
  5. Windows 7 Beta(32位\64位)官方镜像文件下载
  6. 路线错误的教训对如今的模范企业也有借鉴意义
  7. mysql慢查询面试题_头条Java岗3面入职:事务+慢查询SQL+Redis+秒杀设计面试题等
  8. 【英语学习】【加州教材】【G6】【科学】Earth Science目录及术语表
  9. 2014百度之星资格赛—— Xor Sum(01字典树)
  10. UVA154 Recycling【水题】
  11. 关于mysql数据库行级锁的使用(一)
  12. webrtc学习———记录三:mediaStreamTrack
  13. 玩转Light Blue之添加设备信息
  14. 学校计算机考试系统故障,解决在线考试系统设计的常见问题
  15. 计算机如何通过手机连接网络,主编教您手机怎么通过usb连接电脑上网
  16. junit5_JUnit 5测试中的临时目录
  17. vivo手机拍照有什么技巧,如何拍出精美照片?
  18. 安装炫酷桌面himawaripy实施卫星地图
  19. angular.js:13920 Error: [$injector:unpr] Unknown provider: $scopeProvider - $scope - testServe
  20. 【对抗攻击论文笔记】Enhancing the Transferability of Adversarial Attacks through Variance Tuning

热门文章

  1. 区块链教程Fabric1.0源代码gRPC(Fabric中注册的gRPC Service)一
  2. oracle parallel 并行 设置 理解
  3. 后台参数验证的几种方式
  4. JAVA对象通过jackson转成json格式,属性名首字母变成小写的解决方法
  5. 根据文件头数据判断文件类型
  6. C#对Excel的样式操作
  7. 正则表达式 一切从简
  8. 超低费用将推动BCH在Token系统中脱颖而出
  9. bootstrap使用总结
  10. 聊聊storm的LoggingClusterMetricsConsumer