WPF之RichTextBox丢失光标仍然选中文本

描述:开发中完成了一个相似于Word的悬浮工具栏功能,选中文本以后能够自动弹出一个工具栏。能够修改字体、字体大小等功能,问题来了,我发现当去进行操做的时候本来选中的RichTextBox的内容的颜色会变为白色,其实仍然是选中状态,但是颜色消失了。查找了大量资料都认为是LostFocus搞的鬼,通过屡次试验得出一个结论,那就是重写下LostFocus的事件。ide

开工:上文中提到认为是LostFocus搞的鬼,RichTextBox有两个LostFocus,OnLostFocus和OnLostKeyboardFocus,二者的区别是前者为鼠标的焦点,后者为键盘的焦点。可是在测试中发现只会进入后者,而不会进入前者,因此仍是比较诧异的,诧异归诧异,咱们继续。工具

上代码:测试

  protected override void OnLostKeyboardFocus(KeyboardFocusChangedEventArgs e)
        {
            e.Handled = true;
        }

好吧,只有这么多代码,就是截获了OnLostKeyboardFocus事件便可,可是这样会有一个不太友好的结果就是选中色的丢失事件木有了。我会告诉你,点击下RichTextBox的内部便可消失吗,哈哈,美中不足就是点击其余的焦点不能消失,你们斟酌吧。字体

相关文章
相关标签/搜索