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());
分享到:
相关推荐
wpf原生richtextbox支持文字上标下标
wpf读取richTextBoxwpf读取richTextBoxwpf读取richTextBoxwpf读取richTextBoxwpf读取richTextBox
wpf ,richtextbox,wpf 操作richtextobx
简单日志记录,界面使用RichTextBox记录日志,根据日志级别显示日志内容不同的颜色,同时使用log4net记录本地文件日志。
WPF 中使用RichTextBox控件开发的类似Notepad的小程序.
RichTextBox控件中显示HTML格式数据
WPF自制RichTextBox文本编辑器,利用了命令,RichTextBox的一些常用属性。实现基本常用的编辑功能
WPF中richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结
基于WPF的richtextbox控件,按格式导入导出word文档内容
RichTextBox和行号有关的技术难点,实现richtextbox添加行号
NULL 博文链接:https://syxc.iteye.com/blog/719183
wpf RichTextBox文本编辑器,可实现打开保存,添加图片,处理字符等 自己摸索出来的,有问题欢迎提出来。一起改进
网上找到的WPF版HTML编辑器都是基于web browser控件,它在WPF中存在AllowsTransparency问题。今天终于解决了,分享给大家。 只收1分,大家可以接收吧! 源码来自于codeproject,原版不支持中文汉字,中文会变成乱码还...
这个是真的完美.我尝试过很多方法都不成功.呵呵,最后还是找到了.
wpf在RichTextBox中添加控件未启用
C#中RichTextBox使用方法和TextBox基本一样,只不过RichText除了TXT外,还支持RTF格式的文档。本文详细介绍RichTextBox的使用方法供大家参考,具体如下: 一、RichTextBox的使用方法 RichTextBox.Find方法 ...
WPF+RichTextBox实现富文本编辑器,主要实现主要实现复制,剪切,粘贴,撤销,重做,保存,打开,文本加粗,斜体,下划线,删除线,左对齐,居中对齐,右对齐,两端对齐,缩进,减少缩进,项目符号,数字符号,上标...
vs2008 WPF应用程序 RichTextBox示例
文档编辑功能,全选菜单this.richTextBox1.SelectAll();复制菜单this.richTextBox1.Copy();剪切菜单this.richTextBox1.Cut();粘贴菜单this.richTextBox1.Paste();C#源代码
wpf实现的文本编辑器,用richtextbox,附加一个toolbar工具栏