2

我正在制作一个 WPF 应用程序,该应用程序将在没有硬件键盘的信息亭上使用。目前我们正在使用第三方屏幕键盘,但 Windows 8 版本要好得多,我们正在考虑切换到它。

所以我的问题很简单,是否可以显示/隐藏它以及使用 c# 显示仅数字版本。

谢谢!大卫

4

2 回答 2

2

这个来源

没有直接的方法来以编程方式控制触摸键盘。要求用户设置焦点而不是程序是为了防止 UI 流失而经过深思熟虑的设计决定。

请参阅Input Hosting Manager 和 Touch Keyboard,了解有关其工作原理和原因的更多信息。该文档的用户驱动调用部分解释了您所询问的特定行为。

但是,一旦用户触摸输入控件,软键盘将自动显示(无需额外编码)。

最后,为了解决您在纯数字键盘上的问题,您可以在 TextBox 上使用InputScope提出不同的键盘布局。这里列举了不同的输入范围,但其中之一是“数字”。

于 2013-01-29T01:17:04.900 回答
1

我已经发布了一个关于如何在用户单击文本框时触发 WPF 应用程序中的触摸键盘的示例,它在这里:

http://code.msdn.microsoft.com/Enabling-Windows-8-Touch-7fb4e6de

我已经为这个样本工作了好几个月,很高兴最终将它贡献给我们的社区。如果在示例问答窗格中有任何问题、建议、问题等,请告诉我

另请注意,在演示如何“显示”键盘时,我不确定此时如何以编程方式将其关闭,因此测试任何实际实现以确保其良好体验很重要。例如,某些控件(例如 Button)在从 TextBox 获得焦点时会关闭键盘,但某些控件(例如 Checkbox)不会,我在示例中对此进行了演示。

于 2013-12-13T19:38:44.043 回答