2012-01-18 23 views
0

选择文本我有一个RichTextBox的一个样本:不能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); 

,但似乎没有被选中。我究竟做错了什么?

回答

1

事实上,它的工作,但你看不到的选择,因为你失去的焦点。 现在的重点是在按钮

尝试加入这一行后:

this.RichTextBox1.Focus(); 
+1

获得丰富的文本框中的所有文字,然后选择全部是RichTextBox1.SelectAll容易(); – Clemens 2012-01-18 21:06:03

0

这可能是因为当您使用FlowDocument时,您应该使用TextPointer.GetPointerContext()方法检查指针上下文。

您可以尝试使用此方法建议:Select Range of Text in WPF RichTextBox (FlowDocument) Programmatically。答案是写在VB.NET,但人问这个问题在C#写的有问题。

如果您在使用本解决方案时遇到任何问题,让我知道。

5

只需通过 richtextboxName.Select选择富文本框中的所有文本(); 然后到剪贴板地方,你可以使用 richtextboxName.Copy(); 通过编码可以使用此命令

string myText = new TextRange(richtextboxName.Document.ContentStart,  richtextboxName.Document.ContentEnd).Text; 
0
richTextBox.IsInactiveSelectionHighlightEnabled = true;