2012-09-18 13 views
5

Mam jedno pole tekstowe na stronie telefonu Windows i chcę wyświetlić klawiaturę zaraz po wczytaniu strony.Jak programowo wyświetlić klawiaturę dla textbox?

Czy jest jakiś sposób, aby pole tekstowe było już skupione podczas nawigacji na tej stronie?

Zastanawiałem się nad użyciem Guide.BeginShowKeyboardInput(), ale nie sądzę, że to dobre rozwiązanie w silverlight.

+1

Czy ustawienie ostrości po załadowaniu strony do pola tekstowego spowoduje automatyczne wyświetlenie klawiatury? – Alexandre

Odpowiedz

8

Tak, nie pokazywałbym ręcznie klawiatury. Może to być irytujące dla tych, którzy mają urządzenia z fizyczną klawiaturą. W zdarzeniu load dla strony możesz po prostu wywołać metodę Focus w polu tekstowym, które chcesz wybrać. Klawiatura powinna automatycznie wyświetlać się w razie potrzeby.

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

Zastąp metodę OnNavigatedTo dla strony.

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

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

Można zadzwonić textBox.Focus() poprzez Dispatcher jeśli używasz go na razie OnNavigatedTo:

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

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

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

Oświadczenie if tu pilnuje klawiatura jest wyświetlana tylko wtedy, gdy strona nie jest poruszać się z Przycisk powrotu.

Powiązane problemy