【发布时间】:2017-02-16 16:00:30
【问题描述】:
我目前正在尝试构建一个用于 UWP 应用的触摸键盘。我想出的解决方案之一是使用代理组件调用带有按钮的 SendKeys 功能(IsTabStop 设置为 false,ClickMode 设置为 Press,以防止输入控件失去焦点)。到目前为止,一切正常(在 TextBoxes 上测试它没有任何问题)。
问题:我在使用 WebView 控件时遇到了一些问题:当我单击按钮时,WebView 保持焦点,如预期的那样;但是,DOM 元素(例如 HTML 的 <input> 标记)会失去输入焦点(同时仍处于可视选择状态)。
我找到了解决这个问题的方法,方法是将焦点重新设置在 webview 上;但这发现了另一个问题。假设输入元素设置为在聚焦时选择其所有内容(字符串)。然后,每次我单击一个按钮时,都会选择内容并替换为我发送到 WebView 的新字母。
那么,我的问题是,有什么方法可以避免在单击 XAML 按钮时失去 DOM 对象的焦点?
注意:我确实知道 InputPane,但我不能将它用于此应用程序(由于客户端的一些限制)。另外,如果有不清楚的地方请告诉我,我会尽快修改。
NB2:我绝对无法访问将由 WebView 显示的页面的源代码,也不能依赖特定元素的存在。
【问题讨论】: