How to get RTF from RichTextBox

前端 未结 2 1556
离开以前
离开以前 2020-12-09 05:24

How do I get the text in RTF of a RichTextBox? I\'m trying to get like this, but the property does not exist.

RichTextBox rtb = new RichTextBox(         


        
相关标签:
2条回答
  • 2020-12-09 06:00

    There are 2 RichTextBox classes, one from the winforms framework and one from the WPF framework:

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

    Only the Winforms RichTextBox has an Rtf property, the other has a Document property which contains a FlowDocument.

    0 讨论(0)
  • 2020-12-09 06:17

    To get the actual XAML created by the user inside of the RichTextBox:

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

    EDIT: I don't have code in front of me to test, but an instance of the TextRange type has a Save (to stream) method that takes a DataFormats parameter, which can be DataFormats.Rtf

    0 讨论(0)
提交回复
热议问题