2012-09-18 23 views
5

私はWindowsの電話ページに1つのテキストボックスを持っており、ページがロードされるとすぐにキーボードを表示したいと考えています。プログラムでテキストボックスのキーボードを表示するにはどうすればよいですか?

このページに移動したときにこのテキストボックスを既にフォーカスさせる方法はありますか?

私はGuide.BeginShowKeyboardInput()を使用すると考えましたが、それは銀色の良い解決策だとは思いません。

+1

テキストボックスにページを読み込んだ後にフォーカスを置くと、自動的にキーボードが表示されますか? – Alexandre

答えて

8

ええ、私は手動でキーボードを表示しませんでした。物理的なキーボードを備えたデバイスを持つ人にとっては迷惑でしょう。ページのロードイベントでは、選択したいテキストボックスでFocusメソッドを呼び出すだけです。必要に応じてキーボードが自動的に表示されます。

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
      txtLongitude.Focus(); 
} 
6

ページのOnNavigatedToメソッドをオーバーライドします。

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 

    // Set focus to the TextBox, this will pop up the 
    // virtual keyboard 
    myTextBox.Focus(); 
} 
0

あなたはOnNavigatedToイベントでそれを使用する場合は、Dispatcher経由textBox.Focus()を呼び出すことができます。ここ

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 

    if (e.NavigationMode != NavigationMode.Back) 
    { 
     Dispatcher.InvokeAsync(() => ShowKeyboard()); 
    } 
} 

private void ShowKeyboard() 
{ 
    textBox.Focus(); 
} 

if文は、ページがからにナビゲートされていない場合、キーボードのみ示されているを確認します戻るボタン。

関連する問題