微软的。net Framework 4.6.2发布说明包括以下内容:
"软键盘支持在WPF应用程序中自动调用和取消触摸键盘,而无需禁用Windows 10上的WPF手写笔/触摸支持。在4.6.2之前,如果不禁用WPF触控笔/触控支持,WPF应用程序不会隐式地支持调用或取消触控键盘。这是由于从Windows 8开始,触控键盘在应用程序中跟踪焦点的方式发生了变化。"
变更列表同样声明:
"在WPF应用程序中启用自动调用和取消触摸键盘而不禁用Windows 10上的WPF手写笔/触摸支持[178044]"
但我找不到任何指示如何做到这一点,我找不到任何在官方的API差异,似乎是这样的。
谁能帮我找到如何做这件事的文档,我现在可以做吗?
我的上下文是,我有一个应用程序,显式启动"OSK.exe"时需要。在带有内置Windows屏幕键盘的触摸设备上,这将导致两个屏幕键盘同时显示。我想禁用标准的,只显式地启动"OSK.exe"。
谢谢!
我认为这(特别是评论)应该回答你的问题。简短的故事是:没有什么特别要做的,但它只适用于Win10周年版。
要禁用软键盘,您可以按照注释中的指示操作:
WPF在Windows 7触摸:隐藏软键盘(以及启用它的弹出图标)
或
https://blogs.msdn.microsoft.com/winuiautomation/2015/04/26/how-and-why-i-added-an-on-screen-keyboard-to-my-windows-store-app/如果在Windows 10周年纪念版的WPF中,您可以在文本框中覆盖自动对等:
protected override AutomationPeer OnCreateAutomationPeer()
{
return new FrameworkElementAutomationPeer(this);
}
在Windows 7上只需要输入
InputMethod.IsInputMethodEnabled=”False”
希望能有所帮助。