我在Windows手机页面上有一个文本框,我想在页面加载后立即显示键盘。
当我导航到此页面时,有没有办法让这个文本框集中注意力?
我考虑使用Guide.BeginShowKeyboardInput()
,但我认为这不是一个很好的解决方案。
答案 0 :(得分:8)
是的,我不会手动显示键盘。对于那些拥有带有物理键盘的设备的人来说,这可能会让人烦恼。在页面的加载事件中,您可以在要选择的文本框上调用Focus方法。键盘应根据需要自动显示。
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
txtLongitude.Focus();
}
答案 1 :(得分: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();
}
答案 2 :(得分:0)
如果您在textBox.Focus()
事件中使用Dispatcher
,则可以通过OnNavigatedTo
致电protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (e.NavigationMode != NavigationMode.Back)
{
Dispatcher.InvokeAsync(() => ShowKeyboard());
}
}
private void ShowKeyboard()
{
textBox.Focus();
}
:
if
此处的{{1}}语句确保仅在未从“后退”按钮导航页面时显示键盘。