使用屏幕键盘正确解决WPF应用程序的问题

时间:2013-06-06 10:36:52

标签: wpf keyboard

我已经为我的WPF应用程序开发了一个很好的OSK解决方案,这些应用程序是在平板电脑上运行的。但是由于存在一些错误,奇怪的行为以及没有针对这个普通问题的标准化解决方案,因此很难使用OSK.exe和tabtip.exe。

我(可能)需要的是一个自定义文本框控件,它继承自System.Windows.Controls.TextBox,并覆盖了一些方法。

此文本框的简单要求应为: 1.当用户单击文本字段时,tabtip.exe(或类似的)键盘应弹出屏幕底部(默认)。 2.如果键盘弹出文本框顶部,则内容框应滚动,以便文本框可见。 3.当文本框失去焦点时,键盘应自动关闭,除非用户单击另一个文本框。

这似乎是非常标准的行为吗?好吧,我看了很长时间才找到解决方案(没有标准的微软方式,这有点奇怪),并且正如我所说的那样,我尝试自己创造但没有运气。例如,有时当我试图杀死进程时,它会失败。当我单击键盘右上角的关闭按钮时,如5-6-7次,它会关闭。从PC到平板电脑的行为并不一致。 ScrollViewer.ScrollToVerticalOffset(x);有时在平板电脑上进行工作,等等。

所有人都知道这个常见问题的良好解决方案吗?

0 个答案:

没有答案