WPF操作RichTextBox

11 篇文章 0 订阅
取出richTextBox里面的内容
第一种方法:将richTextBox的内容以字符串的形式取出
   string xw = System.Windows.Markup.XamlWriter.Save(richTextBox.Document);
第二种方法:将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

第一种方法:将字符串转换为数据流赋值给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);
第二种方法:将二进制数据赋值给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();
            }
   

 清空:richTextBox1.Document.Blocks.Clear();

操作RichTextBox
复制   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());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值