WPF TextBox TextChanged 相关坑

  • 当使用输入法输入时,例如微软拼音,会将未输入完的文字显示在TextBox中,触发TextChanged事件,但是搜狗拼音不会。可以用PreviewTextInputUpdatePreviewTextInput来判断当前是否在输入法输入过程之中。
  • 当使用输入法输入文字时,如果在TextChanged中,修改了Text属性,然后修改CaretIndex属性,会没有效果。如果不使用输入法则没有问题。采用await Dispatcher.Yield(DispatcherPriority.Send)在设置 CaretIndex前增加一点延迟可以解决,原因不明。

Posted in WPF

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据