WPF中的RichTextBox

 

原文链接: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 = 0;
     stream.Read(data, 0, 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(0, 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());

 

转载于:https://www.cnblogs.com/laishenghao/p/5072678.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值