Проблема свойств текстового поля - PullRequest
1 голос
/ 14 марта 2011
<RichTextBox AcceptsTab="True" ForceCursor="True" IsDocumentEnabled="True" TextChanged="ContentChanged" Name="TextContent"/>

В файле C # я не могу получить свойство Text Rich Textbox.Я пытаюсь получить это как;

TextContent.Text= "hello"

Но это дает ошибку времени компиляции.

'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?) 

Пожалуйста, предложите мне.

Ответы [ 2 ]

4 голосов
/ 14 марта 2011

Как правило, вам нужно работать со свойством Blocks. Но если вы используете FlowDocument для представления контента RichTextBox, вы можете получить доступ к тексту с помощью свойства Document.

Например, написание контента:

XAML:

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

Код:

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

Чтобы прочитать контент, вы просто получаете доступ к Document свойству:

FlowDocument yourStoredContent = rtb.Document;

Если вам нужно просто взять текст, у вас есть более простой способ - TextRange класс. Следующий код извлечет весь текстовый контент:

TextRange storedTextContent =
    new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
string yourText = storedTextContent.Text;
0 голосов
/ 14 марта 2011

Если вы хотите получить текст из поля расширенного текста, используйте этот код,

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