gpt4 book ai didi

c# - 为 Windows Store App 定制的虚拟键盘

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:30 25 4
gpt4 key购买 nike

由于 Microsoft 不允许替换系统的虚拟键盘,我开发了一个自定义虚拟键盘​​作为 UserControl 以在我的 Windows 应用商店应用程序中使用。我目前的问题是,每当用户点击 TextBox 时,默认虚拟键盘总是弹出。

从昨天开始,我一直在寻找解决这个问题的方法,但我无法解决。我几乎成功的尝试是开发一个 TextBox,上面有一个透明的 Canvas。当用户点击 Canvas 时,焦点以编程方式转移到 TextBox 并且我的自定义虚拟键盘​​被实例化。但是,如果没有物理键盘连接到平板电脑,系统键盘也会通过这种方法弹出(通过我的自定义键盘)。

我想使用 TextBox 的主要原因是因为这样我可以保留和使用已经实现的插入符号功能,但这不是强制性的。

任何输入都会有所帮助,谢谢。

最佳答案

您可以做几件事:

有键盘出现时的事件,检查这些事件,看看是否可以阻止它。

您可以实现一个抑制 OnPointerPressed 事件的自定义 TextBox,这样 TextBox 就永远不会获得焦点。您还需要做一些其他事情(例如通过设置 IsTabStop=false 来防止通过 Tab 键切换到焦点。

您可以从头开始实现自定义 TextBox(外观和行为都像 TextBox)。

我认为第二个选项是最简单和最有趣的尝试选项。

编辑:您还可以为您的 TextBox 提供一个 DependencyProperty,您通过绑定(bind)将当前 Page 设置为该属性。在 TextBox 的 OnGotFocus 事件中,将视觉状态设置为“CustomFocus”(或任意名称),然后调用 Page.Focus();

关于c# - 为 Windows Store App 定制的虚拟键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19179049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com