Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭windows uwp应用程序中的软键盘_Uwp_Windows 10 Mobile - Fatal编程技术网

关闭windows uwp应用程序中的软键盘

关闭windows uwp应用程序中的软键盘,uwp,windows-10-mobile,Uwp,Windows 10 Mobile,我有一个uwp应用程序在运行windows 10的手持设备上运行。手持设备有一个条形码扫描器,应用程序的所有输入都是使用该扫描器进行的。因此,我想防止当用户将焦点移动到任何文本框控件时出现键盘 在很大程度上,焦点是通过编程来处理的——我已经用PreventKeyboardDisplayOnProgrammaticFocus=True阻止了这些情况下出现键盘。 但用户有时确实需要自己移动焦点,我找不到任何方法来阻止他这样做时键盘出现 我找到了关于上面提到的编程焦点的文章,当用户在文本框中按ente

我有一个uwp应用程序在运行windows 10的手持设备上运行。手持设备有一个条形码扫描器,应用程序的所有输入都是使用该扫描器进行的。因此,我想防止当用户将焦点移动到任何文本框控件时出现键盘

在很大程度上,焦点是通过编程来处理的——我已经用
PreventKeyboardDisplayOnProgrammaticFocus=True
阻止了这些情况下出现键盘。 但用户有时确实需要自己移动焦点,我找不到任何方法来阻止他这样做时键盘出现

我找到了关于上面提到的编程焦点的文章,当用户在文本框中按enter键时隐藏键盘,并将控件的readonly值设置为true。但这些不适用于这种情况。我希望能够阻止它出现在这个应用程序。
有人能提供建议吗?

我不确定是否有直接的方法来防止键盘出现。通过订阅InputPane的事件,您当然可以在键盘显示后隐藏它:

InputPane.GetForCurrentView()。显示+=(s,e)=>(s作为InputPane.TryHide();
但这看起来不太好。因此,我尝试了一种巧妙的方法来实现您想要的功能—禁用文本框进行命中测试,并在其下使用虚拟控件来设置编程焦点。我已经测试过了,它应该能工作。样本xaml:


以及背后的代码:

private void Border_点击(对象发送方,点击路由数据源)
{
myTextBox.Focus(FocusState.programmable);
}

谢谢。很抱歉这么久才回到你身边-我在做另一个项目。这很好用——而且不需要按钮,因为点击边界就可以了。