WPF: вызов экранной клавиатуры из текстового поля в элементе управления WebBrowser на win10
Я работаю над программным обеспечением WPF (использующим vb), которое позволяет открывать веб-страницы в элементе управления WebBrowser. Программное обеспечение WPF запускается на планшете в полноэкранном режиме, и экранную клавиатуру Windows нельзя вызвать отдельно.
Сначала мы отключили поддержку планшета wpf (пример здесь: https://msdn.microsoft.com/library/dd901337(v=vs.90).aspx), а затем включили сенсорную клавиатуру с отслеживанием фокуса, как показано ниже.:
Dim Config As InputPanelConfiguration = New InputPanelConfiguration()
Dim ConfigIntf As IInputPanelConfiguration = CType(Config, IInputPanelConfiguration)
If ConfigIntf IsNot Nothing Then
ConfigIntf.EnableFocusTracking()
End If
Это работает на планшетах с Windows 8 / 8.1 и дает пользователям возможность вводить данные в текстовые поля онлайн, нажав на текстовое поле.
Теперь проблема в планшетах Win10. Тот же код приводит к полному отключению сенсорного экрана, и программное обеспечение, похоже, "зависло", поскольку сенсорный экран не реагирует на прикосновения. Если сначала я не отключу поддержку планшета wpf, экранная клавиатура не запустится при нажатии на текстовое поле на веб-странице в элементе управления WebBrowser.
Отчасти это функция браузера. Если я использую IE или Edge непосредственно на планшете Win10 и нажимаю на текстовое поле, ничего не происходит (если не подключена физическая клавиатура). В Chrome экранная клавиатура открывается автоматически.
Может ли кто-нибудь здесь предложить хороший способ заставить Osk открываться всякий раз, когда пользователь Win10 нажимает на текстовое поле на веб-странице, открытой в элементе управления WPF WebBrowser? (не имеет значения, является ли это C#, VB или не имеет отношения к языку)
1 ответ
Ну, пока я не нашел программного решения, но решил проблему через настройки Windows:
http://www.windowscentral.com/auto-display-touch-keyboard-windows-10-desktop-mode
Есть настройка, которая контролирует, будет ли osk открываться автоматически.