WPF RichTextBox 插入换行 移动光标

时间:2022-01-14 18:35:45

原文: WPF RichTextBox 插入换行 移动光标

第一次使用的方法是:


  
  
  1. richTextBox1.CaretPosition.InsertLineBreak();
  2. richTextBox1.CaretPosition = richTextBox1.CaretPosition.GetNextInsertionPosition(LogicalDirection.Forward);
  3. richTextBox1.Focus();

改方法在win7下正常。但是在win10下,当输入汉字的时候,虽然光标的位置在下一行了,但是输入汉字的时候,依然在上一行。

解决方法如下:

后台:


  
  
  1. richTextBox1.Focus();
  2. richTextBox1.CaretPosition = this.TxtMessage.CaretPosition.InsertParagraphBreak();

插入段落结束标记。

但是段落之间默认是距离的,所以需要在xaml中设置段落的间距。


  
  
  1. <RichTextBox x:Name= "richTextBox1">
  2. <RichTextBox.Resources>
  3. <Style TargetType= "Paragraph">
  4. <Setter Property= "Margin" Value= "0"></Setter>
  5. </Style>
  6. </RichTextBox.Resources>
  7. </RichTextBox>

问题解决。