Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to hide Windows Phone 8.1 soft keyboard effectively?

I want to hide the soft keyboard when the Enter key is tapped, but no solutions works for me properly. (Windows Phone 8.1 Universal App)

This one just doesn't work:

if (e.Key == VirtualKey.Enter)
{
    textBox.IsEnabled = false;
    textBox.IsEnabled = true;
}

A method like this:

private void LoseFocus(object sender)
{
    var control = sender as Control;
    var isTabStop = control.IsTabStop;
    control.IsEnabled = false;
    control.IsTabStop = false;
    control.IsEnabled = true;
    control.IsTabStop = isTabStop;
}

works only partially. It's hiding keyboard only when I'm using textbox for the first time. On the second time keyboard is reappearing.

like image 373
Marceli Grabowski Avatar asked Oct 31 '14 16:10

Marceli Grabowski


3 Answers

There is direct API support to hide and show the InputPane. You don't need to try to fake out the system.

The Windows.UI.ViewManagement.InputPane.TryShow and TryHide methods are available on Windows Phone 8.1.

The other option would be to move the focus to a more appropriate control when the user hits Enter.

like image 182
Rob Caplan - MSFT Avatar answered Oct 23 '22 17:10

Rob Caplan - MSFT


This is the complete code to hide the keyboard when the user press the enter key

  private void TextBox_KeyUp(object sender, KeyRoutedEventArgs e)
    {
        if(e.Key==Windows.System.VirtualKey.Enter)
        {
            Windows.UI.ViewManagement.InputPane.GetForCurrentView().TryHide();
        }
    }
like image 27
Pierre Poliakoff Avatar answered Oct 23 '22 17:10

Pierre Poliakoff


I just did something like that and it's working:

private async void makeRequest(string title, int page)
    {
        myTextBox.IsEnabled = false;
        myTextBox.IsTabStop = false;
        // here is my httprequest and changing itemssource of listview
        myTextBox.IsEnabled = true;
        myTextBox.IsTabStop = true;
    }
like image 2
Marceli Grabowski Avatar answered Oct 23 '22 16:10

Marceli Grabowski