原文链接:http://blog.csdn.net/wuzhengqing1/article/details/7010902

取出richTextBox里面的内容

第一种方法:将richTextBox的内容以字符串的形式取出

string str = System.Windows.Markup.XamlWriter.Save(richTextBox.Document);

第二种方法:将richTextBox的类容以二进制数据的方法取出

     FlowDocument     doc    = richTextBox.Document;
System.IO.Stream stream = new System.IO.MemoryStream();
System.Windows.Markup.XamlWriter.Save(doc, stream);
byte[] data = new byte[stream.Length];
stream.Position = ;
stream.Read(data, , data.Length);
stream.Close();

赋值给richTextBox

第一种方法:将字符串转换为数据流赋值给richTextBox中

  System.IO.StringReader sr = new System.IO.StringReader(str);
System.Xml.XmlReader xr = System.Xml.XmlReader.Create(sr);
richTextBox1.Document = (FlowDocument)System.Windows.Markup.XamlReader.Load(xr);

第二种方法:将二进制数据赋值给richTextBox

   System.IO.Stream ss  = new System.IO.MemoryStream(data);
FlowDocument doc = System.Windows.Markup.XamlReader.Load(ss) as FlowDocument;
ss.Close();
richTextBox1.Document = doc;

清空RichTextBox的方法

         System.Windows.Documents.FlowDocument doc = richTextBox.Document;
doc.Blocks.Clear();

如何将一个String类型的字符串赋值给richTextBox

myRTB.Document    = new FlowDocument(new Paragraph(new Run(myString)));
FlowDocument doc = new FlowDocument();
Paragraph para = new Paragraph();//------Paragraph 类似于 html 的 P 标签
Run run = new Run(myString);//----Run 是一个 Inline 的标签
para.Inlines.Add(run);
doc.Blocks.Add(para);
myRTB.Document = doc;

如何将richTextBox中的内容以rtf的格式完全取出

string rtf = string.Empty;
TextRange textRange = new TextRange(richTextBox.Document.ContentStart,
richTextBox.Document.ContentEnd);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
textRange.Save(ms, System.Windows.DataFormats.Rtf);
ms.Seek(, System.IO.SeekOrigin.Begin);
System.IO.StreamReader sr = new System.IO.StreamReader(ms);
rtf = sr.ReadToEnd();
}

RichTextBox的操作:

       using System.Windows.Input;
using System.Windows.Documents;

//---复制,剪切,粘贴,撤销,重做
ToolBarCopy.Command = ApplicationCommands.Copy;
ToolBarCut.Command = ApplicationCommands.Cut;
ToolBarPaste.Command = ApplicationCommands.Paste;
ToolBarUndo.Command = ApplicationCommands.Undo;
ToolBarRedo.Command = ApplicationCommands.Redo;
//---文字居中/右/左
ToolBarContentCenter.Command = EditingCommands.AlignCenter;
ToolBarContentRight.Command = EditingCommands.AlignRight;
ToolBarContentLeft.Command = EditingCommands.AlignLeft;
//---有序/无序排列
ToolBarNumbering.Command = EditingCommands.ToggleNumbering;
ToolBarBullets.Command = EditingCommands.ToggleBullets;//---字体变大
int fontSize = Convert.ToInt32(richTextBox.Selection.GetPropertyValue(
TextElement.FontSizeProperty));
fontSize++;
richTextBox.Selection.ApplyPropertyValue(TextElement.FontSizeProperty,
fontSize.ToString());

WPF中的RichTextBox的更多相关文章

  1. WPF/Silverlight中的RichTextBox总结

    WPF/Silverlight中的RichTextBox总结   在WPF或者是在Silverlight中有个非常强大的可以编辑的容器控件RichTextBox,有的时间会采取该控件来作为编辑控件.鉴 ...

  2. WPF中, 启用添加到RichTextBox中的控件

    原文:WPF中, 启用添加到RichTextBox中的控件   WPF中, 启用添加到RichTextBox中的控件                                           ...

  3. 在WPF中自定义控件

    一, 不一定需要自定义控件在使用WPF以前,动辄使用自定义控件几乎成了惯性思维,比如需要一个带图片的按钮,但在WPF中此类任务却不需要如此大费周章,因为控件可以嵌套使用以及可以为控件外观打造一套新的样 ...

  4. WPF中的命令与命令绑定(一)

    原文:WPF中的命令与命令绑定(一)   WPF中的命令与命令绑定(一)                                           周银辉说到用户输入,可能我们更多地会联想到 ...

  5. 在WPF中使用依赖注入的方式创建视图

    在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...

  6. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

  7. MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信

    MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...

  8. MVVM设计模式和WPF中的实现(四)事件绑定

    MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  9. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

随机推荐

  1. jvm系列(七):jvm调优-工具篇

    16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...

  2. nginx.conf完整配置实例

        #user nobody; worker_processes 1;   #error_log logs/error.log; #error_log logs/error.log notice; ...

  3. 教你如何一步步将项目部署到Github

    注册Github账号有半年多的时间,却一直不知道如何将自己做好的项目部署到Github中.看了网上许多的教程,要么一开始就来Git命令行,要么直接就来一堆术语,很少能够真正说中要点,解决我们的烦恼. ...

  4. Android反编译工具

    1:先安装androidfby工具 2:安装jdk并设置环境变量 3:下载一个apk数据包 4:打开反编译工具页面,点击"浏览"找到所要测试的apk包 5:反编译成功之后,会生成相 ...

  5. 启程、对C的继承

    Cocoa和Object-c是苹果公司OS X和IOS操作系统的核心.   .m扩展名表示文件使用的是Objective-c代码.   与C语言一样,Objective-c使用头文件来包含结构体.符号 ...

  6. 撸基础篇系列,JAVA的NIO部分

    前言:撸基础篇系列,避免每次都要从头开始看,写个自己的知识体系树 NIO 核心就是异步, 比如,复制文件,让操作系统去处理,等通知 BIO核心类 一,BIO NIO基本操作类 Bytebuffer 构 ...

  7. 文件系统:ext4,zfs测评结果

    测试环境 操作系统:ubuntu16.04 内核版本: 磁盘: 本人使用的是青云的云主机,磁盘使用的其性能型: Cpu信息: 4核 2399MHz 内存:8G 文件系统: 本人使用的是ubuntu16 ...

  8. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包

    Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...

  9. 2017-3-10 SQL server 数据库 T--SQL语句

    创建数据库:create datebase  数据库名     注:数据库名不能为中文,不能数字开头,不能符号开头. 删除数据库:drop datebase 数据库名 创建表:create   tab ...

  10. React+webpack开发环境的搭建

    首先创建项目,确保该项目已经安装了webpack和webpack-dev-server具体安装方法请参考上章所述. 在上一章说过babel是一个javascript编辑器,在react项目中使用bab ...