我有一个RichTextBox示例:
<RichTextBox Name="RichTextBox1">
<RichTextBox.Document>
<FlowDocument>
<Paragraph>tveg56ybhj6e7</Paragraph>
<Paragraph>54 h46u7h 468 j58ik9mm</Paragraph>
<Paragraph>456 h467h 566ybhj6e7</Paragraph>
</FlowDocument>
</RichTextBox.Document>
</RichTextBox>
尝试选择RichTextBox中的所有文本:
FlowDocument doc = this.RichTextBox1.Document;
this.RichTextBox1.Selection.Select(doc.ContentStart, doc.ContentEnd);
但似乎没有选择任何东西。我做错了什么?
答案 0 :(得分:5)
您只需选择富文本框中的所有文字即可 richtextboxName.Select(); 然后放在夹板上你可以使用 richtextboxName.Copy(); 通过编码,您可以使用此命令
获取富文本框中的所有文本string myText = new TextRange(richtextboxName.Document.ContentStart, richtextboxName.Document.ContentEnd).Text;
答案 1 :(得分:1)
事实上它是有效的,但你没有看到选择,因为你只是失去了焦点。 重点是按钮
尝试在以下后添加此行:
this.RichTextBox1.Focus();
答案 2 :(得分:0)
这可能是因为当您使用FlowDocument
时,您应该使用TextPointer.GetPointerContext()
方法检查指针上下文。
您可以尝试使用此处建议的方法:Select Range of Text in WPF RichTextBox (FlowDocument) Programmatically。答案是用VB.NET编写的,然而,提问的人在C#中写了这个问题。
如果您在使用此解决方案时遇到任何问题,请与我们联系。
答案 3 :(得分:0)
richTextBox.IsInactiveSelectionHighlightEnabled = true;