WPF RichTextBox 使用示例

一、取出RichTextBox值

1、取得RichTextBox 文字

TextRange documentTextRange = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
string text = DataFormats.Text;

2、取得RichTextBox内的XAML文档

string xaml = System.Windows.Markup.XamlWriter.Save(richTextBox.Document);

3、将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赋值

String字符串赋值给RichTextBox

FlowDocument doc = new FlowDocument();
Paragraph p = new Paragraph(); // Paragraph 类似于 html 的 P 标签
Run r = new Run("文字"); // Run 是一个 Inline 的标签
p.Inlines.Add(r);
doc.Blocks.Add(p);
richTextBox.Document = doc;

以上可以简化为

richTextBox.Document = new FlowDocument(new Paragraph(new Run("文字")));

 

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

2、RichTextBox 加载文本

https://blog.csdn.net/nodeman/article/details/80760275

 

三、清空RichTextBox的方法

System.Windows.Documents.FlowDocument doc = richTextBox.Document;
doc.Blocks.Clear();

WPF RichTextBox 使用示例

上一篇:CVE-2019-1388: Windows UAC 提权


下一篇:initialize or clean up your unittest within .net unit test