2013-02-06 5 views
4

Windows 8에서 페이지를 탐색 할 때 포커스를 특정 TextBox에 놓아야합니다.OnNavigatedTo 이벤트에서 TextBox에 포커스를 두는 방법은 무엇입니까?

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard); 
} 

을하지만 그것은 작동하지 않습니다

내가 사용. 그러나 버튼 클릭 이벤트에서 myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);을 호출하면 올바르게 작동합니다.

페이지가로드 될 때 어떻게 TextBox에 포커스를 설정할 수 있습니까?

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    base.OnNavigatedTo(e); 
    Dispatcher.RunAsync(
     CoreDispatcherPriority.Normal, 
     () => myControl.Focus(FocusState.Keyboard)); 
} 

답변

16

봅니다 this.Dispatcher

와 코드 샘플을 myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard); 를 호출.

윈도우 폰에
+3

나를 위해 myControl.Focus (Windows.UI.Xaml.FocusState.Keyboard) Windows에서로드 된 이벤트를 추가하여 작업 8.1 – bhupinder

1

이 시도 :

myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard); 

을하고 XAML 코드에서 첫 번째 컨트롤로이 control(mycontrol)을 설정

+2

Welcome to stackoverflow. 이 사이트의 작동 방식과 용도에 대해 알아 보려면 [this] (http://stackoverflow.com/tour) 둘러보기를 이용하십시오. 답변의 형식을 지정하십시오. –

1

8.1 페이지에로드 이벤트를 추가하고 나는 TextBox의로드 이벤트에 추가하여 그것을했다

private void Page_Loaded(object sender, RoutedEventArgs e) 
{ 
    SearchTextBox.Focus(FocusState.Keyboard); 
} 
0
OnNavigatedTo 이벤트 대신에 거기에

을 초점을 호출

XAML :

<TextBox x:Name="SearchTextBox" 
    Loaded="SearchTextBox_Loaded"/> 

.cs 뒤에 코드 :

private void SearchTextBox_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e) 
{ 
    SearchTextBox.Focus(Windows.UI.Xaml.FocusState.Keyboard); 
} 
관련 문제