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

Bru*_*o V 13 c# wpf on-screen-keyboard windows-10

我们开始在Windows 8中创建WPF触摸应用程序,最近迁移到Windows 10.我们实现的一个功能是在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();
Run Code Online (Sandbox Code Playgroud)

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

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

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

小智 5

我开源我的项目来自动化WPF应用程序中TabTip集成的所有内容.

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

TabTipAutomation.BindTo<TextBox>();
Run Code Online (Sandbox Code Playgroud)

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

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

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


swd*_*v95 1

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

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

  • 虽然此链接可以回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会变得无效。 (4认同)