【发布时间】:2015-11-11 08:46:43
【问题描述】:
是否可以在 Windows 10 IoT Core 上的 Windows 通用应用程序中显示屏幕键盘 (osk)? 树莓派只有一个鼠标,当我点击一个文本框时,我想显示 osk。
我可以设置 InputScope 和 IsTextPredictionEnabled 但不知道如何触发 osk 显示。
【问题讨论】:
标签: c# xaml win-universal-app iot windows-10-iot-core
是否可以在 Windows 10 IoT Core 上的 Windows 通用应用程序中显示屏幕键盘 (osk)? 树莓派只有一个鼠标,当我点击一个文本框时,我想显示 osk。
我可以设置 InputScope 和 IsTextPredictionEnabled 但不知道如何触发 osk 显示。
【问题讨论】:
标签: c# xaml win-universal-app iot windows-10-iot-core
这里有一个屏幕键盘的例子。如果您查看他们在 Web 浏览器中使用的示例。这是一个很好的键盘,但最好有默认的 windows 键盘
https://github.com/ms-iot/samples/tree/develop/DigitalSign
如果由我决定,我会更喜欢默认 OSK,因为您可以根据输入指定稍微不同的键盘布局。我不喜欢这个,因为文本框失去焦点,这可能会限制您可以使用的动作侦听器的使用。希望这可以在未来的构建中启用,但现在这是一个非常好的键盘,您可以窃取,因此您不必从头开始。
另外,您应该在“开发者平台/Windows 10 IoT Core”下的 Windows 反馈中投票。应该有一个开放的建议。
【讨论】:
我早在 7 月份就在 MSDN 论坛上问过这个问题。我得到的答案是:
“这里已经回答了这个问题:
目前没有可用的屏幕键盘。稍后可能会添加一个,但不能保证。如果您阅读链接的帖子,您还会发现为什么没有可用的解释。”
仅供参考,这是我提出的 MSDN 问题的链接:https://social.msdn.microsoft.com/Forums/en-US/9c95f424-f0ca-4751-9497-a019c1d40907/touch-keyboard?forum=WindowsIoT
这是来自链接帖子的答案:
“目前没有可用的屏幕键盘。如果您希望用户通过屏幕输入内容,那么您需要在应用程序中为该输入提供 UI。部分原因是我们没有像资源管理器这样的“外壳”来帮助控制正在运行的应用程序或提供其他服务,例如在桌面上处理的 SIP / OSK。
从长远来看,我相信这是产品团队正在考虑/研究的事情,但我没有任何时间表说明它是否或何时可能是一个选项(如果有的话)。如果我不知道,我会告诉你的。
希望对你有帮助。”
【讨论】:
如this answer 中所述,如果您拥有最新版本,请从 Windows 设备门户检查屏幕键盘。
【讨论】:
有一个可用的(我认为自 14986 年以来)。你必须启用它 “设备设置”>“屏幕键盘”下的设备门户。
2017 年 1 月 5 日星期四下午 12:57
【讨论】:
我想发布我想出的解决方法,但我还没有足够的代表点来包含超过 2 个链接。 所以我把它作为另一个答案发布。
这里是: 对于那些感兴趣的人,我写了一个非常基本的 osk-UI 元素示例。这个想法是创造一些可以在必要时重复使用的东西。这也不是最快的事情,但也许它会给你一些想法。 它基本上是一个弹出窗口内的用户控件。当文本框获得焦点时,它会触发一个事件,将“键盘弹出窗口”的 DataContext 设置为文本框的 DataContext 并显示“键盘”。
我将它放入一个 .zip 文件并上传到我的 Box.com 帐户。
这里是项目文件夹:https://app.box.com/s/vsf1wclaivsan4hhu2u2qdrb2awnbspu
【讨论】: