WPF 操作 richTextBox

FROM: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());

posted on 2012-09-16 22:54  天外飞车  阅读(344)  评论(0编辑  收藏  举报