需要创建一个新的WPF控件并将光标交给它。 在WINFORMS或之前的Windows UI中,使用WIN API Caret函数很容易,但现在在WPF中,我们没有每个控件的hwnd,那么有没有办法做到呢?
需要创建一个新的WPF控件并将光标交给它。 在WINFORMS或之前的Windows UI中,使用WIN API Caret函数很容易,但现在在WPF中,我们没有每个控件的hwnd,那么有没有办法做到呢?
在WPF中,插入符号只是另一种动画,没有特殊的API。绘制一条线,并使用DoubleAnimation更改其不透明度。
如果您仔细观察WPF TextBox,插入符号甚至不会进行“像素反转”,它只是在字母上绘制的灰色线条。
潜在地,您可以通过实现像素着色器效果在WPF中进行像素反转。但可能不值得。VS2010 beta不会对文本插入符号进行反转。
除了TextBox / RichTextBox之外,您还可以找到3个其他的编辑组件:
SystemParameters
类确实提供了CaretWidth
字段。 - O. R. Mapper