富文本框属性问题

时间:2011-03-14 06:36:53

标签: c# wpf richtextbox

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

在C#文件中,我无法获得Rich Textbox的Text属性。 我想要得到这个;

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 个答案:

答案 0 :(得分:4)

通常,您需要使用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;

答案 1 :(得分:0)

如果要从富文本框中检索文本,请使用此代码

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