zoukankan      html  css  js  c++  java
  • WPF操作RichTextBox(转)

    http://blog.csdn.net/wuzhengqing1/article/details/7010902
    取出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();
                }
        

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

  • 相关阅读:
    Linux Time_wait网络状态 调优
    Linux 系统开启随机端口数量 调优
    Linux 跟踪连接netfilter 调优
    Linux 文件时间记录属性 调优
    Linux 默认线程栈大小 调优
    Linux 系统开启最大线程数 调优
    Linux 系统级开启文件句柄 调优
    Linux 进程级开启最大文件描述符 调优
    参数优化-偏差与方差
    决策树-回归
  • 原文地址:https://www.cnblogs.com/quietwalk/p/2319159.html
Copyright © 2011-2022 走看看