UWP 无法使用自定义 OSK 在 Web 视图的文本框中输入数据

我有一个在 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"/>


炎炎设计
浏览 100回答 1
1回答

慕斯709654

我能够通过&nbsp;window.external.notify使用事件侦听器通知 UWP 有关模糊事件的信息来解决此问题,并使用此通知命令将焦点设置回 webviewwebview.Focus(FocusState.Programmatic); await&nbsp;webView.InvokeScriptAsync(@"eval",&nbsp;new&nbsp;string[]&nbsp;{&nbsp;"document.focus()"&nbsp;});
打开App,查看更多内容
随时随地看视频慕课网APP