Durga Dutt
Durga Dutt

Reputation: 4113

Rich Text box Properties problem

<RichTextBox AcceptsTab="True" ForceCursor="True" IsDocumentEnabled="True" TextChanged="ContentChanged" Name="TextContent"/>

In C# file i am not able to get Text property of Rich Textbox. I am trying to get this like;

TextContent.Text= "hello"

But it is giving compile time error.

'System.Windows.Controls.RichTextBox' does not contain a definition for 'Text' and no extension method 'Text' accepting a first argument of type 'System.Windows.Controls.RichTextBox' could be found (are you missing a using directive or an assembly reference?) 

Please suggest me.

Upvotes: 1

Views: 5716

Answers (2)

kyrylomyr
kyrylomyr

Reputation: 12652

Generally, you need to work with Blocks property. But, if you are using FlowDocument for representing RichTextBox content, then you can access text with Document property.

For example, writing content:

XAML:

<RichTextBox Name="rtb">
</RichTextBox>

Code:

FlowDocument contentForStoring =
    new FlowDocument(new Paragraph(new Run("Hello, Stack Overflow!")));
rtb.Document = contentForStoring;

To read content you simply access Document property:

FlowDocument yourStoredContent = rtb.Document;

If you need just to take text, you have more simple way - TextRange class. Next code will retrieve all text content:

TextRange storedTextContent =
    new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
string yourText = storedTextContent.Text;

Upvotes: 5

Devendra D. Chavan
Devendra D. Chavan

Reputation: 9021

If you want to retrieve the text from the rich text box then use this code,

string content = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd).Text;

Upvotes: 0

Related Questions