在Windows 10上的文本框焦点上禁用自动打开触摸键盘(TabTip.exe),2018年4月更新

时间:2018-06-28 13:55:00

标签: c# .net wpf windows on-screen-keyboard

我有一个用.NET 4.6.1编写的WPF应用程序,用于平板电脑。当我聚焦文本框时,在以下情况下会自动调用TabTip虚拟键盘:

  • 平板电脑模式已打开,并且可以通过触摸或手写笔进行对焦
  • 平板电脑模式已关闭,Show the touch keyboard when not in tablet mode and there's no keyboard attached设置已打开,并且通过触摸或手写笔进行了聚焦
  • 平板电脑模式已关闭,Show the touch keyboard when not in tablet mode and there's no keyboard attached设置已关闭,并且使用触控笔(而非触摸)进行对焦

我需要禁用此行为。

到目前为止,我使用following workaround来禁用键盘自动调用:

class MyTextBox : TextBox
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        return new FrameworkElementAutomationPeer(this);
    }
}

自Windows 10版本1803(2018年4月更新)以来-甚至可能自1709年(秋季创作者更新)以来,但我现在无法确认-这不再起作用并且始终会调用键盘。

有没有办法防止在我的应用程序的最新Windows 10中自动显示TabTip?

尽管这不是理想的选择(它会影响整个系统),但我也尝试按照here所述禁用Touch Keyboard and Handwriting Panel Service。但是在1803年,只要键盘被调用,该服务就会继续启动。通过任务栏按钮。

0 个答案:

没有答案