我有一个带有按钮的文本框(Telerik的RadTextBox配置了Action)。 当用户按下动作时,会显示进度基础,屏幕变暗,并且会发生一些魔术。
我的问题是,由于动作不会导致文本框失去焦点,因此屏幕键盘不会被隐藏,并且会一直覆盖屏幕的一半。
我想以编程方式隐藏屏幕键盘,但不知道如何。
答案 0 :(得分:8)
只需将焦点设置到主页面:
this.Focus();
这将聚焦不使用键盘的控件,从而隐藏键盘。不幸的是,键盘上没有隐藏的API。
答案 1 :(得分:2)
而是尝试禁用,然后在适当的位置启用相关文本框(例如,一旦提交了查询或触发了操作):
TextBox.IsEnabled = false;
TextBox.IsEnabled = true;
(通过https://stackoverflow.com/a/23905874/1963978)
不干净,但它完成了工作(在Windows 10移动设备中)。
答案 2 :(得分:0)
这里很多解决方案仅适用于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();
}