将焦点设置为Xamarin.Forms中的条目

这只是一个简化的示例,但我正在尝试设置它,以便当我在我的应用程序中打开此页面时,首先发生的是键盘弹出,以便用户输入对条目的响应领域。

var namelabel = new Label { Text = "What is your name?" }; var nameentry = new Entry { Placeholder = "Type here..." }; var colorlabel = new Label { Text = "What's your fav color?" }; var colorentry = new Entry { Placeholder = "Type here..." }; Content = new StackLayout { Spacing = 15, Children = { namelabel, nameentry, colorlabel, colorentry } }; 

如何将页面焦点设置为第一个条目? 此外,在用户输入第一个条目之后,我怎么能设置它,以便用户可以按下键盘上的“下一个”按钮(或沿着这些线条的东西),应用程序将带他们填写第二次进入?

使用Focus方法

 nameentry.Focus(); 

如果您希望在页面出现时设置焦点,则应该在OnAppearing方法中执行此OnAppearing

  protected override void OnAppearing () { base.OnAppearing (); nameentry.Focus(); } 

只要要关注的元素是最顶层的元素,这应该有效。 我把它放在OnAppearing方法中。

 base.OnAppearing(); Entry entry = this.FindByName("NameOfEntryElement"); entry.Focus(); 

此信息的来源是: https : //forums.xamarin.com/discussion/100354/entry-focus-not-working-for-android

关于时间问题的文章中有进一步的讨论。