【发布时间】:2016-06-01 02:50:24
【问题描述】:
我正在开发一个 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 控件中点击网页上的文本框时,屏幕键盘将不会启动。
在某种程度上,它是一个浏览器功能。如果我直接在 Win10 平板电脑上使用 IE 或 Edge 并点击文本框,则没有任何反应(当没有连接物理键盘时)。在 Chrome 中,屏幕键盘会自动打开。
这里的任何人都可以建议一种好方法来诱导 osk 在 Win10 用户点击在 WPF WebBrowser 控件中打开的网页上的文本框时打开? (不管是 C#、VB 还是无关语言)
【问题讨论】:
标签: .net wpf windows-10 touchscreen on-screen-keyboard