2012-01-18 35 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;