WPF文本框焦点不显示屏幕键盘

nzrxty8p  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(154)

我有一个WPF应用程序,一般将在触摸屏上操作。
数字输入是通过我们自己的对话框,当某些字段被点击时弹出。
我不希望在执行此操作时出现默认的Windows 10/11屏幕键盘。我几乎可以通过将IsReadOnly和IsReadOnlyCaretVisible设置为true来获得想要的结果。
然而,当对话框打开或用户单击字段时,屏幕键盘仍然显示半秒左右,如果我在文本字段上将focusable设置为false,则不会发生这种情况,但是用户无法看到或操作文本框中的克拉。
有人知道为什么当IsReadOnly设置为True时屏幕键盘仍然弹出吗?

jobtbby3

jobtbby31#

为了它的价值,我确实找到了一个解决方案,即使我不是它的超级粉丝,因为它涉及到用子类替换所有textbox示例。

/// <summary>
/// This is wapper around text box for a that prevents the unneeded virtual keyboard poping up
/// </summary>
public class TextBoxNoKeyboard : TextBox
{
    protected override AutomationPeer OnCreateAutomationPeer()
    {
        return new FrameworkElementAutomationPeer(this);
    }
}

我真的不知道它为什么工作或者FrameworkElementAutomationPeer做什么
找到解决方案here on the Microsoft forums

相关问题