如何将焦点放在OnNavigatedTo事件的TextBox中?

Dab*_*uto 4 c# xaml windows-runtime

在Windows 8中,当导航页面时,我需要将焦点放在特定的TextBox上.

我用了:

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

但它不起作用.但是,如果我myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);通过按钮单击事件调用,它可以正常工作.

如何在加载页面时将焦点设置为TextBox?

Mic*_*elS 16

尝试调用myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard);this.Dispatcher

代码示例:

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

  • 对我来说myControl.Focus(Windows.UI.Xaml.FocusState.Keyboard)通过在Windows 8.1上添加加载的事件来工作 (3认同)