我有一个在 webview 中运行的角度应用程序和一个在 uwp 中运行的自定义屏幕键盘(OSK)。我无法使用自定义 OSK 在 Web 视图中的文本框中输入数据,尽管它对于正常的 UWP 文本框工作正常。当我点击 OSK 时,它似乎失去了焦点。我尝试过WebView.Focus(FocusState.Programmatic)调用脚本InvokeScriptAsync来将焦点设置回 WebView 事件中的 webview,LostFocus但没有任何效果。我也尝试过使用焦点管理器。FocusMovementResult result;
result = await FocusManager.TryFocusAsync(WebView, FocusState.Programmatic);我使用在文本框中注入输入InputInjector。inputKey.VirtualKey = ((ushort)((VirtualKey)Enum.Parse(typeof(VirtualKey), input.Text, true)));
inputInjector.InjectKeyboardInput(new[] { inputKey });对于 OSK,该属性也AllowFocusOnInteraction设置为 False。 <app:Keyboard x:Name="keyboard" AllowFocusOnInteraction="False"/>
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
我能够通过 window.external.notify
使用事件侦听器通知 UWP 有关模糊事件的信息来解决此问题,并使用此通知命令将焦点设置回 webview
webview.Focus(FocusState.Programmatic); await webView.InvokeScriptAsync(@"eval", new string[] { "document.focus()" });
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消