TextBox光标不闪烁

时间:2011-11-04 13:56:44

标签: wpf focus cursor caret

我有一个带有自定义列的WPF datagrid(4.0)(从DataGridTextColumn派生)。

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

我得到的最接近的是插入符号显示但没有闪烁,我需要额外点击才能开始编辑。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

由于显示了插入符号,但没有闪烁,因此我猜测您的控件具有逻辑焦点,但不是键盘焦点。

如何将控件设置为聚焦?

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

Keyboard.Focus(myControl);

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