我有一個文本框裏面有一個按鈕(Telerik的RadTextBox配置了一個Action)。 當用戶按下動作時,會顯示進度欄,屏幕變暗,併發生一些魔法。如何以編程方式隱藏鍵盤
我的問題是,由於該操作不會導致文本框失去焦點,屏幕鍵盤不會隱藏,並且一直覆蓋一半的屏幕。
我想以編程方式隱藏屏幕鍵盤,但不知道如何。
我有一個文本框裏面有一個按鈕(Telerik的RadTextBox配置了一個Action)。 當用戶按下動作時,會顯示進度欄,屏幕變暗,併發生一些魔法。如何以編程方式隱藏鍵盤
我的問題是,由於該操作不會導致文本框失去焦點,屏幕鍵盤不會隱藏,並且一直覆蓋一半的屏幕。
我想以編程方式隱藏屏幕鍵盤,但不知道如何。
只是將焦點設置到主畫面:
this.Focus();
這將集中在不使用鍵盤,從而隱藏鍵盤控制。遺憾的是鍵盤沒有API來隱藏它。
似乎沒有在Windows 10移動設備上工作... – matthewsheets
@matthewsheets歡迎來到改變API和OS實現的世界! –
我剛在Win 10 Mobile上試了一下,它工作得很好。也許他們再次改變了API:p等等,我把它拿回來。現在它只能在一些頁面上運行。看起來,頁面上的第一個元素不能是輸入字段,或者如果您調用this.Focus()並且鍵盤已啓動並再次運行,它將首先自動被選中。 – FloppyNotFound
而是嘗試禁用,然後使有問題的文本框在一個合適的位置(像曾經的查詢已提交或動作觸發):
TextBox.IsEnabled = false;
TextBox.IsEnabled = true;
(通過https://stackoverflow.com/a/23905874/1963978)
不乾淨,但它可以完成這項工作(在Windows 10移動版中)。
這裏很多的解決方案僅適用於但對我來說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();
}
你就不能強行將焦點設置上的另一個控制文本塊? –
@KooKiz - 我可以,這就是我現在看到的,但我希望有一個真正的解決方案,而不是一個補丁。 – SaguiItay