zoukankan      html  css  js  c++  java
  • 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());
  • 相关阅读:
    idea中如何返回上一个鼠标的焦点
    git-修改本地和远端分支名字
    git修改已经commit的注释记录
    《完全用Linux工作》
    C++ 网络爬虫实现
    计算两个YUV420P像素数据的PSNR---高等算法
    C++类对象大小的计算
    mp4文件格式解析
    BMP图片格式模型(2)
    BMP图片格式模型
  • 原文地址:https://www.cnblogs.com/laishenghao/p/5072678.html
Copyright © 2011-2022 走看看