WPF 读取和存储RichTextBox的文档内容
来源:互联网 发布:淘宝店铺出售价格 编辑:程序博客网 时间:2024/05/19 23:57
RichTextBox的文档内容是通过FlowDocument的形式存在。
在编辑RichTextBox内容时,我们看不到其文档的源码内容,因为我们没有像在Web开发中那样有浏览器自带的翻译功能可以使用(相关内容http://blog.sina.com.cn/s/blog_685790700100l61i.html)。
因此,对文档内容我们需要自己来转换和翻译。
将会用到两个对象
微软的相关内容和示例:
http://msdn.microsoft.com/zh-cn/library/system.windows.markup.xamlwriter.aspx
http://msdn.microsoft.com/zh-cn/library/system.windows.markup.xamlreader.aspx
通过使用XamlWriter.Save()静态方法将获取FlowDocument对象内容,XamlWriter.Save()多次重载,因此可以获取多种类型的结果,当然,最直观的就是获取String类型的内容。这样就获得了这个FlowDocument对象的内容的String形式的字符串。
将字符串形式的文本转换成FlowDocument的方法如下
利用XamlReader.Create()方法,读取内容并创建一个XamlReader对象实例。
接着使用的XamlReader.Load()方法,将这个XamlReader实例转换成一个Object对象(这个Object对象就是字符串描述的对象,只是还没进行类型转换)
代码如下:
说明 rtb1和rtb2都是RichTextBox控件,这段代码的作用是将rtb2中输入的内容(FlowDocument)转换成一个字符串xw。
然后将xw再转换成rtb1的内容(FlowDocument)。
这两个转换过程在例子中是连在一起的,只要稍作变换,在中间加入数据库的保存和读取操作,就可以实现保存RichTextBox内容到数据库和现实数据库内容到RichTextBox的功能。
需要注意的是,FlowDocument的标记采用的是Xaml,与我们熟悉的HTML是不互通的,所以,读取出来的字符串必须是Xaml格式的,也就是说,XamlReader只能读取Xaml标准格式。
另外,MessageBox.Show(xw)可以看到,无论将什么对象通过XamlWrite序列化成字符床,都会加入一个Xmlns属性,这个属性指定文档命名空间,所以,直接XamlReader一个Xaml格式的字符串还不够,还需要加入Xmlns属性。通过XamlWrite读取是自动就加上了的,如果想手工输入Xaml格式的字符串别忘了Xmlns。
- WPF 读取和存储RichTextBox的文档内容
- WPF RichTextBox读取存储文本的方法和常用属性
- WPF RichTextBox的常用方法和属性(内容的读取/导入等)
- WPF 保存和加载 RichTextBox 内容
- WPF SL 获取RichTextBox 的内容(string)
- WPF richtextbox的使用
- WPF RICHTEXTBOX 和数据库读写图文的方法。
- WPF RICHTEXTBOX 和数据库读写图文的方法
- WPF中RichTextBox实现和Winform一样的效果
- 自己封装的类用于操作RichTextBox内容,方便获取和设置RichTextBox内容
- vb.net 逐行读取RichTextBox内容
- C#WPF里面RichTextBox的内容带格式存到数据库中
- WPF richtextbox
- RichTextBox中的RTF格式的读取和保存
- WPF 读取xaml文档
- WPF RichTextBox和rtf 复制等操作
- WPF中RichTextBox设置文本的样式
- WPF中richtextbox的一些用法
- Cocos2dx在visualStudio或者vc++中环境搭建(入门篇)
- Linux 下关于网络的几个命令
- 如何判断android 短信发送(sendTextMessage)是否成功
- 1*3*5*7*-------n
- IOS 字符串替换
- WPF 读取和存储RichTextBox的文档内容
- Sql语句构造类,多字段新增或修改时,拼装sql语句比较方便
- 进程之间通信的几种方式<转>
- 《Windows程序设计》笔记之一——第一个Windows程序以及Windows程序原理
- 机会往往留给有准备的人
- uva 1450 airport
- ubuntu 服务管理sysv-rc-conf
- java初始化顺序
- IT名企是怎样做测试的