背景:本人在RichTextBox控件的TextChanged事件里对录入的内容进行了处理,处理完后又重新
richTextBox.Document.Blocks.Add(phSource); Add到RichTextBox的Document里。
在这个过程中本人遇到了两个比较头疼的问题
问题1:例如现在文本框里有:abc123yyyyyyy2 当本人光标放在123后面进行输入的时候输入一个字符光标就自动跳到最后面的yyy2处了(原因是本人在TextChanged处理文本框里的内容然后又重新赋值了)问题是怎么能让光标在123后的位置输入新内容后光标还停留在输入内容的后面啊。以下是本人TextChanged的代码。
private void richTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
this.richTextBox.TextChanged -= new TextChangedEventHandler(richTextBox_TextChanged);
TextPointer tpStart = richTextBox.CaretPosition;
//对文本框内容的处理函数
this.UpdateSourceContent(cbType.IsChecked == null ? true : cbType.IsChecked.Value);
this.richTextBox.TextChanged += new TextChangedEventHandler(richTextBox_TextChanged);
tpStart = tpStart.DocumentEnd;
richTextBox.CaretPosition = tpStart;