彩票走势图

WPF RICHTEXTBOX 和数据库读写图文的方法

转帖|其它|编辑:郝浩|2011-04-07 13:38:44.000|阅读 1249 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

  做一个项目,需要图文一起存入数据库,在网上浏览了很久。终于实现了在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的内容。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP