У меня есть приложение WPF, написанное на .NET 4.6.1, которое используется на планшетах. Когда я фокусирую текстовое поле, виртуальная клавиатура 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
настройка отключена и фокусировка выполняется стилусом (без касания)
Мне нужно отключить это поведение.
До сих пор я использовал следующий обходной путь , чтобы отключить автоматический вызов клавиатуры:
class MyTextBox : TextBox
{
protected override AutomationPeer OnCreateAutomationPeer()
{
return new FrameworkElementAutomationPeer(this);
}
}
Начиная с Windows 10 версии 1803 (обновление за апрель 2018 г.) - возможно, даже после 1709 г. (Fall Creators Update), но я не могу подтвердить это сейчас - это больше не работает, и клавиатура всегда вызывается.
Есть ли способ, как запретить автоматическое отображение TabTip в новейшей Windows 10 в моем приложении?
Хотя это не идеально (это влияет на всю систему), я также попытался отключить Touch Keyboard and Handwriting Panel Service
, как описано здесь . Но на 1803 служба продолжает запускаться, как только вызывается клавиатура, например, из кнопки панели задач.