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