我正在制作一个WPF应用程序,用于没有硬件键盘的自助服务终端。目前我们正在使用第三方屏幕键盘,但Windows 8版本要好得多,我们正在考虑切换到它。
所以我的问题就是如果可以显示/隐藏它以及使用c#显示仅数字版本。
谢谢! 大卫
答案 0 :(得分:2)
来自this source:
没有直接的方式来以编程方式控制触控键盘。 要求用户设置焦点而不是程序是a 刻意设计决定,以防止UI流失。
有关详细信息,请参阅Input Hosting Manager and the Touch Keyboard 如何以及为什么这样做。 User-driven invocation部分 文档解释了您询问的具体行为。
但是,一旦用户触摸输入控件,软键盘将自动显示(无需额外编码)。
最后,要在仅限数字版本的键盘上解决您的问题,您可以在TextBox上使用InputScope建议不同的键盘布局。枚举的不同输入范围here,但其中一个是" Number"。
答案 1 :(得分:1)
我发布了一个示例,说明当用户点击文本框时如何在WPF应用程序中触发触控键盘,其位于:
http://code.msdn.microsoft.com/Enabling-Windows-8-Touch-7fb4e6de
我已经在这个样本上工作了好几个月,很高兴最终为我们的社区做出贡献。如果示例Q& A窗格中有任何问题,建议,问题等,请告诉我们
另请注意,虽然演示了如何“显示”键盘,但我不知道如何在此时以编程方式解除它,因此测试任何实际实现以确保其良好体验非常重要。例如,像Button这样的控件会在从TextBox获得焦点时关闭键盘,但是像Checkbox这样的某些控件不会在我的样本中证明这一点。