c# – 打开停在WPF中的Windows 10触摸键盘

前端之家收集整理的这篇文章主要介绍了c# – 打开停在WPF中的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();

然而,Windows 10键盘似乎没有与Windows 8相同的Dock行为.键盘现在覆盖任何最大化的窗口,隐藏任何应用程序的底部.只有未最大化的窗口被调整为适合剩余空间.

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

> 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键盘可以通过编程方式停靠在最大化的窗口吗?

解决方法

我开放自己的项目,使所有关于WPT应用程序中的TabTip集成的功能自动化.

你可以在nuget获得它,之后你需要的是一个简单的配置在你的应用程序启动逻辑:

TabTipAutomation.BindTo<TextBox>();

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

欲了解更多信息,请参阅project site.

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

原文链接:https://www.f2er.com/csharp/95823.html

猜你在找的C#相关文章