无法在RichTextBox中选择文本

时间:2012-01-18 20:37:18

标签: .net wpf richtextbox selection

我有一个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);

但似乎没有选择任何东西。我做错了什么?

4 个答案:

答案 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;