WPF RichTextBox 输入光标和中文输入法问题
背景:我在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;
}
问题2:在当前输入法是中文输入法的时候打第一个字母就触发TextChanged事件了~正常吗?怎么不让他触发而是等某个汉字或词语打完到文本框时才触发呢
跪求大神解答~~~