C# UWP 禁用文本框或整个页面的手机键盘

本文关键字:键盘 手机 UWP 文本 | 更新日期: 2023-09-27 18:37:09

我有 2 个文本框。 我制作了自己的键盘,以便用户使用我的键盘及其 ETRXA 按钮。 但是当我点击文本框输入它时,我的手机模拟器上的手机键盘会弹出。我尝试了"PreventKeyboardDisplayOnProgrammaticFocus"但我读到它只是在程序本身选择文本框时才禁用它。

读到输入窗格可以帮助我禁用它,但我不明白如何使用它,也找不到在其他任何地方执行此操作的方法。

有人可以帮我吗,我只想为特定文本框或整个页面禁用键盘,这样当我点击文本框时它就不会弹出。

更新:好的,经过深思熟虑,我设法为我的应用程序做这件事,我设置了两个文本框 xaml

    <TextBox IsReadOnly="True" />

所以现在键盘不会出现在该文本框中,因为我"不想正确",那么我的按钮取决于 2 个标志,这些标志表明 TextBox 是集中的,他们会在那里摇摆不定。但是,如果有人知道如何完全禁用键盘,它可能会有所帮助,如果我在 android 上没有记错的话,还有这样的事情,例如为此文本框禁用键盘。

C# UWP 禁用文本框或整个页面的手机键盘

可以使用 TextBox.PreventKeyboardDisplayOnProgrammaticFocus 属性,但还需要将 Textbox 的焦点更改为 Programmatic。

一个简单的例子是:

<TextBox x:Name="myTextBox" PreventKeyboardDisplayOnProgrammaticFocus="True"/>
public MainPage()
{
    this.InitializeComponent();
    timer = new DispatcherTimer();
    timer.Interval = TimeSpan.FromMilliseconds(500);
    timer.Tick += delegate
    {
        try
        {
            myTextBox.Focus(FocusState.Programmatic);
            timer.Stop();
        }
        catch { }
    };
}