WPF 操作 richTextBox
FROM:http://blog.csdn.net/wuzhengqing1/article/details/7010902
?
取出richTextBox里面的內(nèi)容
第一種方法:
將richTextBox的內(nèi)容以字符串的形式取出 ??
string xw = System.Windows.Markup.XamlWriter.Save(richTextBox.Document);
第二種方法:將richTextBox的類(lèi)容以二進(jìn)制數(shù)據(jù)的方法取出 ????
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
第一種方法:
將字符串轉(zhuǎn)換為數(shù)據(jù)流賦值給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);
第二種方法:
將二進(jìn)制數(shù)據(jù)賦值給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();
?
如何將一個(gè)String類(lèi)型的字符串賦值給richTextBox
myRTB.Document = new FlowDocument(new Paragraph(new Run(myString)));
FlowDocument doc = new FlowDocument();
Paragraph p = new Paragraph();? // Paragraph 類(lèi)似于 html 的 P 標(biāo)簽
Run r = new Run(myString);????? // Run 是一個(gè) Inline 的標(biāo)簽 p.Inlines.Add(r); doc.Blocks.Add(p); myRTB.Document = doc;
如何將richTextBox中的內(nèi)容以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 復(fù)制?? ToolBarCopy.Command = System.Windows.Input.ApplicationCommands.Copy;
剪切?? toolBarCut.Command = System.Windows.Input.ApplicationCommands.Cut;
粘貼?? ToolBarPaste.Command = System.Windows.Input.ApplicationCommands.Paste;
撤銷(xiāo)?? ToolBarUndo.Command = System.Windows.Input.ApplicationCommands.Undo;
復(fù)原?? 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;
無(wú)序排列? ToolBarBullets.Command = System.Windows.Documents.EditingCommands.ToggleBullets;
字體變大 ???????????
int fontSize = Convert.ToInt32(richTextBox.Selection.GetPropertyValue(TextElement.FontSizeProperty)); ???????????
fontSize++; ???????????
richTextBox.Selection.ApplyPropertyValue(TextElement.FontSizeProperty, fontSize.ToString());
轉(zhuǎn)載于:https://www.cnblogs.com/alex-zhao/archive/2012/09/16/2688003.html
總結(jié)
以上是生活随笔為你收集整理的WPF 操作 richTextBox的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎么检查男人不孕不育比较好?
- 下一篇: 一位老鸟对 23 种设计模式的有趣见解(