富文本框属性问题

Dur*_*utt 1 c# wpf richtextbox

<RichTextBox AcceptsTab="True" ForceCursor="True" IsDocumentEnabled="True" TextChanged="ContentChanged" Name="TextContent"/>
Run Code Online (Sandbox Code Playgroud)

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

TextContent.Text= "hello"
Run Code Online (Sandbox Code Playgroud)

但它给出了编译时错误。

'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?) 
Run Code Online (Sandbox Code Playgroud)

请建议我。

Kyr*_*o M 5

通常,您需要处理Blocks财产。但是,如果您FlowDocument用于表示RichTextBox内容,则可以使用Document属性访问文本。

比如写内容:

XAML:

<RichTextBox Name="rtb">
</RichTextBox>
Run Code Online (Sandbox Code Playgroud)

代码:

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

要阅读内容,您只需访问Document属性:

FlowDocument yourStoredContent = rtb.Document;
Run Code Online (Sandbox Code Playgroud)

如果您只需要获取文本,则有更简单的方法 -TextRange类。下一个代码将检索所有文本内容:

TextRange storedTextContent =
    new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd);
string yourText = storedTextContent.Text;
Run Code Online (Sandbox Code Playgroud)