文本框光标不闪烁

Posted

技术标签:

【中文标题】文本框光标不闪烁【英文标题】:TextBox Cursor is NOT blinking 【发布时间】:2011-12-22 01:19:55 【问题描述】:

我有一个带有自定义列(派生自 DataGridTextColumn)的 WPF 数据网格 (4.0)。

在 GenerateEditingElement 中,我创建了一个自定义文本框控件(带有一个附加按钮)并喜欢将光标设置在其中以便用户可以直接开始编辑。

我得到的最接近的是插入符号已显示但不闪烁,我需要再次单击才能开始编辑。

所有其他东西(绑定,...)都运行良好

有什么想法吗?

【问题讨论】:

【参考方案1】:

由于插入符号显示,但不闪烁,那么我猜你的控件有逻辑焦点,但没有键盘焦点。

如何将控件设置为 Focused?

myControl.Focus(); 将赋予控件逻辑焦点,但它不会响应键盘事件,因为它没有键盘焦点。要给元素 KeyboardFocus,请使用

Keyboard.Focus(myControl);

这是因为WPF允许你定义多个Focus Scopes,每个范围可以有自己的焦点元素,但是整个应用程序中只有一个控件可以有键盘焦点

【讨论】:

我将 tx.Focus() 移到了我的自定义控件的 Loaded-Event(实际上它只是一个用户控件 ;-),这是一种解决方法 如果它没有键盘焦点,那么插入符号怎么会出现?

以上是关于文本框光标不闪烁的主要内容,如果未能解决你的问题,请参考以下文章

c++ win32编辑框光标不闪烁

光标在自动对焦时不闪烁

axure7.0如何实现光标在文本框中获得焦点时,文本框内容自动清空。失去焦点时显示默认文字,谢谢!

闪烁的光标! Cordova/Phonegap IOS

蒙面文本框输入左对齐

按下 Enter 按钮后将光标保持在文本框上