2012-09-18 38 views
5

Tôi có một hộp văn bản trên trang điện thoại cửa sổ và tôi muốn hiển thị bàn phím ngay khi trang được tải.Làm cách nào để hiển thị bàn phím cho hộp văn bản?

Có cách nào để làm hộp văn bản này đã được tập trung khi tôi điều hướng đến trang này không?

Tôi đã xem xét sử dụng Guide.BeginShowKeyboardInput() nhưng tôi không nghĩ đó là giải pháp tốt trong Silverlight.

+1

Sẽ đưa tiêu điểm sau khi trang được tải vào hộp văn bản của bạn sẽ tự động hiển thị bàn phím? – Alexandre

Trả lời

8

Vâng, tôi sẽ không hiển thị bàn phím theo cách thủ công. Nó có thể là một khó chịu cho những người có thiết bị với một bàn phím vật lý. Trong sự kiện tải cho trang, bạn có thể chỉ cần gọi phương thức Focus trên hộp văn bản mà bạn muốn được chọn. Bàn phím sẽ tự động hiển thị khi cần thiết.

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

Ghi đè phương thức OnNavigatedTo cho trang.

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

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

Bạn có thể gọi textBox.Focus() qua một Dispatcher nếu bạn sử dụng nó trên OnNavigatedTo sự kiện:

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

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

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

Tuyên bố if đây đảm bảo bàn phím được chỉ được hiển thị khi trang được không chuyển đến từ Nút quay lại.

Các vấn đề liên quan