C# Wpf RichTextBox包装问题
我在C# Wpf RichTextBox包装问题,c#,wpf,richtextbox,word-wrap,C#,Wpf,Richtextbox,Word Wrap,我在WPF的RichTextBox中遇到了文本包装问题,当我得到如下文本时: TextRange tr = new TextRange(rtb.Document.ContentStart, rtb.Document.ContentEnd); tr.Text没有任何“\r\n”,但在视觉控制中,它看起来应该是这样的(当输入到达RichTextBox边框时,它会进行包装(插入行尾)) 我创建RichTextBox的方式如下: &l
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>
您必须将RichTextBox放在ScrollViewer中
<ScrollViewer>
<RichTextBox>
...
</RichTextBox>
</ScrollViewer>
...
换行实际上不会在文本中插入回车/换行符。如果更改文本框的宽度,则文本框的换行点将更改。那么如何检测换行事件?我一直在查找,但尚未找到任何内容。我能想到的唯一一件事是依次为字符串中的每个字符设置插入符号位置,然后获得它对应的文本行。当线路发生变化时,这就是您的新线路。