如何获取RichTextBox
的RTF中的文字?我试图这样,但财产不存在。
RichTextBox rtb = new RichTextBox();
string s = rtb.Rtf;
答案 0 :(得分:16)
获取用户在RichTextBox内创建的实际XAML:
TextRange tr = new TextRange(myRichTextBox.Document.ContentStart,
myRichTextBox.Document.ContentEnd);
MemoryStream ms = new MemoryStream();
tr.Save(ms, DataFormats.Xaml);
string xamlText = ASCIIEncoding.Default.GetString(ms.ToArray());
编辑:我没有在我面前测试代码,但是TextRange
类型的实例有一个Save
(to stream)方法,它接受DataFormats
参数,可以是DataFormats.Rtf
答案 1 :(得分:4)
有2个RichTextBox类,一个来自winforms框架,另一个来自WPF框架:
System.Windows.Controls.RichTextBox wpfBox;
System.Windows.Forms.RichTextBox winformsBox;
只有Winforms RichTextBox具有Rtf属性,另一个具有包含FlowDocument的Document属性。