将焦点设置为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
关于时间问题的文章中有进一步的讨论。