C# UWP 为文本框或整个页面禁用 phone 键盘

C# UWP disable phone keyboard for textbox or whole page

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

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

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

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

    <TextBox IsReadOnly="True" />

所以现在键盘不会出现在那个文本框上,因为我 "don't want to right" 然后我的按钮取决于 2 个标志,这些标志表明 TextBox 被聚焦,它们将在那里。但是,如果有人知道如何完全禁用键盘,它仍然会有所帮助,如果我没记错 android,那么这个文本框就会禁用键盘。

您可以使用 TextBox.PreventKeyboardDisplayOnProgrammaticFocus 属性,但您还需要将文本框的焦点更改为程序化。

一个简单的例子是:

<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 { }
    };
}