Microsoft的.NET Framework 4.6.2发行说明包括following:
"软键盘支持可在WPF应用程序中自动调用和解除触摸键盘,而无需在Windows 10上禁用WPF手写笔/触控支持。在4.6.2之前,WPF应用程序不会隐式支持调用或者在不禁用WPF手写笔/触摸支持的情况下解除触摸键盘。这是因为触摸键盘在Windows 8中启动的应用程序中对焦的方式发生了变化。"
List of Changes同样声明:
"在WPF应用程序中启用自动调用和解除触摸键盘,而不在Windows 10上禁用WPF手写笔/触控支持[178044]"
但是我找不到任何关于如何做到这一点的迹象,我在官方API差异中找不到任何似乎是这样的东西。
任何人都可以帮我找到如何做这件事的文件,我现在可以据此做吗?
我的上下文是我有一个明确启动" OSK.exe"的应用程序。需要的时候。在具有内置Windows屏幕键盘的触摸设备上,这会导致显示两个屏幕键盘。我想禁用标准版本,只启动" OSK.exe"明确。
谢谢!
答案 0 :(得分:0)
我认为this(特别是评论)应该回答你的问题。简短的故事是:没有什么特别要做的,但它仅适用于Win10周年纪念版。
要禁用软键盘,您可以执行注释中指示的内容:
WPF on Windows 7 with touch: hide soft keyboard (and the popup icon that enables it)
或
如果在Windows 10周年纪念版的WPF中,您可以在TextBox中覆盖自动化对等项:
protected override AutomationPeer OnCreateAutomationPeer()
{
return new FrameworkElementAutomationPeer(this);
}
在Windows 7上放
就足够了 InputMethod.IsInputMethodEnabled=”False”
希望它有所帮助。