How to get a WPF rich textbox into a string

Asaf picture Asaf · Nov 8, 2010 · Viewed 25.5k times · Source

I saw how to set a WPF rich text box in RichTextBox Class.

Yet I like to save its text to the database like I used to, in Windows Forms.

string myData = richTextBox.Text;
dbSave(myData);

How can I do it?

Answer

Gavin Miller picture Gavin Miller · Nov 8, 2010

At the bottom of the MSDN RichTextBox reference there's a link to How to Extract the Text Content from a RichTextBox

It's going to look like this:

public string RichTextBoxExample()
{
    RichTextBox myRichTextBox = new RichTextBox();

    // Create a FlowDocument to contain content for the RichTextBox.
    FlowDocument myFlowDoc = new FlowDocument();

    // Add initial content to the RichTextBox.
    myRichTextBox.Document = myFlowDoc;

    // Let's pretend the RichTextBox gets content magically ... 

    TextRange textRange = new TextRange(
        // TextPointer to the start of content in the RichTextBox.
        myRichTextBox.Document.ContentStart, 
        // TextPointer to the end of content in the RichTextBox.
        myRichTextBox.Document.ContentEnd
    );

    // The Text property on a TextRange object returns a string
    // representing the plain text content of the TextRange.
    return textRange.Text;
}