WPF RichTextBox 插入换行 移动光标

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF RichTextBox 插入换行 移动光标相关的知识,希望对你有一定的参考价值。

原文: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>

问题解决。

以上是关于WPF RichTextBox 插入换行 移动光标的主要内容,如果未能解决你的问题,请参考以下文章

WPF RichTextBox 将插入符号定位到具有给定索引的可见字符

C#/WPF:禁用 RichTextBox 的文本换行

WPF RichTextBox 如何滚动到光标所在位置滚动条操作

WPF RichTextBox 禁止换行

C#WPF RichTextBox 怎么换行?

WPF中RichTextBox的定位问题。如何使光标定位到与指定关键字所在的位置?