12

如何获取 RTF 中的文本RichTextBox?我试图这样,但该属性不存在。

RichTextBox rtb = new RichTextBox();
string s = rtb.Rtf;
4

2 回答 2

18

要获取用户在 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(流式传输)方法,该方法需要一个DataFormats参数,可以是DataFormats.Rtf

于 2009-03-02T10:13:55.893 回答
4

有 2 个 RichTextBox 类,一个来自 winforms 框架,一个来自 WPF 框架:

System.Windows.Controls.RichTextBox wpfBox;
System.Windows.Forms.RichTextBox winformsBox;

只有 Winforms RichTextBox 具有 Rtf 属性,另一个具有包含 FlowDocument 的 Document 属性。

于 2009-03-02T10:21:26.000 回答