打开停靠在WPF中的Windows 10触摸键盘
本文关键字:Windows 触摸 键盘 中的 WPF 停靠 | 更新日期: 2023-09-27 18:30:12
我们开始在Windows 8中创建WPF触摸应用程序,最近迁移到Windows 10。我们实现的一个功能是在TextBox
接收焦点时打开Windows键盘。在Windows8中,可以通过设置注册表设置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<TextBox>();
您可以将TabTip自动化逻辑绑定到任何UIElement。当任何这样的元素获得焦点时,虚拟键盘将打开,当元素失去焦点时,它将关闭。不仅如此,TabTipAutomation还会将UIElement(或Window)移动到视图中,这样TabTip就不会阻塞聚焦元素。
有关更多信息,请参阅项目网站。
澄清一下:如果你将使用这个包,TabTip将不会停靠,但你的UI将在视图中,我想这就是你想要实现的。
查看本文:http://www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win
当任何这样的元素获得焦点时,虚拟键盘将打开,当元素失去焦点时,它将关闭。