2013-02-10 78 views
1

我有與文字環繞一個問題WPFRichTextBox,當我得到的文本,如:WPF RichTextBox的包裝問題

TextRange tr = new TextRange(rtb.Document.ContentStart, 
           rtb.Document.ContentEnd); 

tr.Text可是沒有任何‘\ r \ n’,但在視覺控制它看起來應該是(它在輸入達到RichTextBox邊界時插入(插入行尾))。

我創建的RichTextBox這樣的:

<RichTextBox Name="Rtb" AcceptsReturn="True" AcceptsTab="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
    HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Height="100" Margin="15,125,5,45" Width="272"> 
      <FlowDocument LineHeight="1" IsColumnWidthFlexible="true" > 
       <Paragraph LineStackingStrategy="MaxHeight"> 
        <Run Text="RichTextBox"/> 
       </Paragraph> 
      </FlowDocument> 
</RichTextBox> 
+0

包裝實際上並未在文本中插入回車/換行符。如果你改變文本框的寬度,那麼它的換行點就會改變。 – ChrisF 2013-02-10 12:51:18

+0

我如何檢測換行事件呢? – AutumnKnight 2013-02-10 13:04:37

+0

我一直在尋找,但還沒有找到任何東西。我唯一能想到的就是將插入符的位置依次設置爲字符串中的每個字符,然後獲取它所對應的文本行。當生產線改變時,這是你的新生產線。 – ChrisF 2013-02-10 13:08:09

回答

0

你必須放在一個ScrollViewer中RichTextBox的。

<ScrollViewer> 
    <RichTextBox> 
     ... 
    </RichTextBox> 
</ScrollViewer>