打开停靠在WPF中的Windows 10触控键盘

我们开始在Windows 8中创建WPF触摸应用程序,最近迁移到Windows 10.我们实现的一个function是在TextBox获得焦点时打开Windows键盘。 在Windows 8中,可以通过设置注册表设置EdgeTargetDockedState并启动TabTip进程将键盘停靠在底部:

  string path = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe"; var info = new ProcessStartInfo(path); info.WindowStyle = ProcessWindowStyle.Maximized; var p = new Process(); p.StartInfo = info; p.Start(); 

然而,Windows 10键盘似乎没有与Windows 8中相同的停靠行为。键盘现在覆盖任何最大化的窗口,该窗口隐藏任何应用程序的底部。 仅调整未最大化的窗口以适应剩余空间。

我检查了以下链接,但没有找到解决方案:

  • https://superuser.com/questions/951841/windows-10-touch-keyboard-doesnt-dock-or-maximize-at-the-bottom-of-the-screen
  • http://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/windows-10-touch-keyboard-doesnt-dock/3c253400-568f-4e89-a253-0d7a747b5b63

Windows 10键盘是否可以通过编程方式停靠以获得最大化的窗口?

我开源我的项目,以自动化有关WPF应用程序中TabTip集成的所有内容。

您可以在nuget上获取它,之后您需要的只是在您的应用启动逻辑中的简单配置:

 TabTipAutomation.BindTo(); 

您可以将TabTip自动化逻辑绑定到任何UIElement。 当任何此类元素获得焦点时,虚拟键盘将打开,当元素失去焦点时,它将关闭。 不仅如此,TabTipAutomation还会将UIElement(或Window)移动到视图中,这样TabTip就不会阻止聚焦元素。

有关更多信息,请参阅项目网站 。

澄清:如果你将使用这个包TabTip将不会停靠,但你的UI将在视图中,我想这是你想要实现的。

查看这篇文章: http : //www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win

当任何此类元素获得焦点时,虚拟键盘将打开,当元素失去焦点时,它将关闭。