WPF中的richtextbox与winform中的richtextbox的使用不同,看看下面的基本操作:

一、取出richTextBox里面的内容

 (1)将richTextBox的内容以字符串的形式取出

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

(2)将richTextBox的类容以二进制数据的方法取出

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

二、richTextBox赋值
 (1)将字符串转换为数据流赋值给richTextBox中

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

(2)将二进制数据赋值给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 p = new Paragraph(); // Paragraph 类似于 html 的 P 标签
Run r = new Run(myString); // Run 是一个 Inline 的标签
p.Inlines.Add(r);
doc.Blocks.Add(p);
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(0, System.IO.SeekOrigin.Begin);
System.IO.StreamReader sr = new System.IO.StreamReader(ms);
rtf = sr.ReadToEnd();
}

六、其他操作

 复制:   ToolBarCopy.Command = System.Windows.Input.ApplicationCommands.Copy;
剪切: toolBarCut.Command = System.Windows.Input.ApplicationCommands.Cut;
粘贴: ToolBarPaste.Command = System.Windows.Input.ApplicationCommands.Paste;
撤销: ToolBarUndo.Command = System.Windows.Input.ApplicationCommands.Undo;
复原: ToolBarRedo.Command = System.Windows.Input.ApplicationCommands.Redo;
文字居中: toolBarContentCenter.Command = System.Windows.Documents.EditingCommands.AlignCenter;
文字居右: toolBarContentRight.Command = System.Windows.Documents.EditingCommands.AlignRight;
文字居左: toolBarContentLeft.Command = System.Windows.Documents.EditingCommands.AlignLeft;
有序排列: ToolBarNumbering.Command = System.Windows.Documents.EditingCommands.ToggleNumbering;
无序排列: ToolBarBullets.Command = System.Windows.Documents.EditingCommands.ToggleBullets;
字体变大:
int fontSize = Convert.ToInt32(richTextBox.Selection.GetPropertyValue(TextElement.FontSizeProperty));
fontSize++;
richTextBox.Selection.ApplyPropertyValue(TextElement.FontSizeProperty, fontSize.ToString());

最新文章

  1. JDBC
  2. Python垃圾回收机制
  3. angularjs中的页面访问权限设置
  4. Marza Gift for GDC 2016
  5. FileInputStream and FileOutputStream
  6. (转)关于java和web项目中的相对路径问题
  7. about js
  8. uva 1595 Symmetry“结构体”
  9. Codeforces 196 C. Paint Tree
  10. NYOJ 1068 ST(段树 为段更新+间隔总和)
  11. Ionic项目中使用极光推送
  12. 【lucene系列学习四】log4j日志文件实现多线程的测试
  13. B. Order Book(Codeforces Round #317 )
  14. zuul网关入门(一、网关具有的功能)
  15. python面向对象之类的组合
  16. Linux环境——MySQL安装及配置(5.7版本)
  17. Python Flask学习笔记之模板
  18. java最小公倍数与最大公约数
  19. js篇-解析url链接里面的参数名和参数值
  20. [摘抄] SFM 和 Visual SLAM

热门文章

  1. 学习老外用webstorm开发nodejs的技巧--代码提示DefinitelyTyped
  2. sed 技巧一例:特定位置插入
  3. PrimusUI
  4. Servlet过滤器——仿盗链过滤器
  5. WPF的消息机制
  6. input在苹果浏览器下变成圆角的解决方案
  7. 怎样学习java?
  8. Struts2 Action接收表单参数
  9. 漫谈并发编程(六):java中一些经常使用的并发构件的介绍
  10. Cocos2d-x layout (二)