在 Blazor WebView 中,由于它基于 Chromium 浏览器内核,所以无法直接访问 Windows 操作系统的当前输入语言设置。
要解决这个问题,我们可以通过 JavaScript 代码来实现。具体步骤如下:
IJSRuntime js = ...
var language = await js.InvokeAsync("eval", "document.getElementById('hiddenInput').value = navigator.language;");
其中 IJSRuntime
是 Blazor 提供的 JavaScript 运行环境接口,可在组件中注入。
language
变量,即可获取到当前输入语言。需要注意的是,由于浏览器的安全性限制,JavaScript 无法直接访问操作系统的设置,因此上方的 navigator.language
获取到的语言可能与操作系统的当前语言设置不一致。