我有一个带有按钮的文本框(Telerik 的 RadTextBox 配置了操作)。当用户按下 Action 时,会显示一个进度条,屏幕变暗,并且发生了一些神奇的事情。
我的问题是,由于该操作不会导致文本框失去焦点,因此屏幕键盘没有隐藏,并且一直覆盖一半屏幕。
我想以编程方式隐藏屏幕键盘,但不知道如何。
我有一个带有按钮的文本框(Telerik 的 RadTextBox 配置了操作)。当用户按下 Action 时,会显示一个进度条,屏幕变暗,并且发生了一些神奇的事情。
我的问题是,由于该操作不会导致文本框失去焦点,因此屏幕键盘没有隐藏,并且一直覆盖一半屏幕。
我想以编程方式隐藏屏幕键盘,但不知道如何。
只需将焦点设置到主页:
this.Focus();
这将集中一个不使用键盘的控件,从而隐藏键盘。不幸的是,键盘没有 API 可以隐藏它。
而是尝试在适当的位置禁用然后启用有问题的文本框(例如一旦提交查询或触发操作):
TextBox.IsEnabled = false;
TextBox.IsEnabled = true;
(通过https://stackoverflow.com/a/23905874/1963978)
不干净,但它可以完成工作(在 Windows 10 移动版中)。
这里很多解决方案仅适用于 Textblock 但在我的情况下为 AutoCompleteBox
<toolkit:AutoCompleteBox Name="autoComplateTxt"
Grid.Row="4"
Margin="15,5,2,10"
Padding="0"
Height="65"
Text=""
BorderThickness="1"
BorderBrush="Black"
VerticalAlignment="Center"
DropDownClosed="autoComplateTxt_DropDownClosed"
/>
private void autoComplateTxt_DropDownClosed(object sender, RoutedPropertyChangedEventArgs<bool> e)
{
this.Focus();
}