我想在我的输入字段中添加focus(),当我添加entry.Focus()
时,它在页面顶部的输入项中工作正常。但是,当到达底部时,它并不能顺利进行。我也尝试过使用SoftInput
方法,但是它会将条目隐藏在底部,并且当页面只有一个或两个条目时,设计也会发生变化。
请帮助我
答案 0 :(得分:1)
@AbbyWang的答案是正确的,您也可以使用ReturnCommand
属性。
<StackLayout
Orientation="Vertical">
<Entry
x:Name="firstLabel"
ReturnType="Next"
FontSize="Small"
TextColor="Black" />
<Entry
x:Name="secondLabel"
ReturnType="Done"
FontSize="Small"
TextColor="Black" />
</StackLayout>
以及背后的代码
public YourPage()
{
InitializeComponent();
this.firstLabel.ReturnCommand = new Command(() => this.secondLabel.Focus());
// or you can use this to call a command on your viewmodel
this.secondLabel.ReturnCommand = new Command(() => YourViewModel.SomeCommand.Execute(null));
}
答案 1 :(得分:0)
如果页面上只有两个条目,则只需在顶部条目中添加一个JSONDecoder
事件,然后在该事件中调用Completed
作为底部条目。所以代码是这样的:
MainPage.xaml:
entry.Focus()
MainPage.xaml.cs
<StackLayout>
<StackLayout Orientation="Horizontal" VerticalOptions="Start">
<!-- Place new controls here -->
<Entry Text="top" x:Name="TopEntry"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand"
Completed="Entry_Completed" />
</StackLayout>
<StackLayout Orientation="Horizontal" VerticalOptions="End">
<!-- Place new controls here -->
<Entry Text="Bottom" x:Name="BottomEntry"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>
</StackLayout>
如果您有2个以上的条目,并且想要在按键盘上的“完成”时关注下一个条目,则也可以参考this。