C# 如何在xamarin中保持键盘打开

C# 如何在xamarin中保持键盘打开,c#,android,xamarin,xamarin.forms,xamarin.android,C#,Android,Xamarin,Xamarin.forms,Xamarin.android,我正在创建一个页面,在这个页面上,我想让键盘一直打开,直到用户在上面。此外,还有隐藏的入口 在谷歌上研究了几个小时后。我发现,您可以在页面上隐藏一个条目,并在后端代码上设置Focus() public partial class CreatePage: ContentPage { public CreatePage() { InitializeComponent(); } protected async override void OnAppea

我正在创建一个页面,在这个页面上,我想让键盘一直打开,直到用户在上面。此外,还有隐藏的入口

在谷歌上研究了几个小时后。我发现,您可以在页面上隐藏一个条目,并在后端代码上设置Focus()

public partial class CreatePage: ContentPage
{
    public CreatePage()
    {
        InitializeComponent();
    }

    protected async override void OnAppearing()
    {
        base.OnAppearing();
        await Task.Delay(1000);
        MyEntry.Focus();
    }
问题是,Focus()方法似乎无法处理隐藏项

CreatePage.xaml-基本隐藏项

<Entry x:Name="MyEntry" IsVisible="false"></Entry>

您可以通过
MyEntry.Focus()实现这一点,您只需要添加一点延迟

protected async override void OnAppearing()
{
     base.OnAppearing();
     await Task.Delay(200);
     MyEntry.Focus();
}

若并没有解决方案,我想我可以在前端使用9个按钮创建键盘视图,并在后端获取onTap事件。唯一的问题是,为什么要在Android中已经有自己的键盘?如果只是pin码,自定义按钮是一个选项,因为Android和iOS都使用9按钮视图来解锁手机,大多数其他带有pin码的应用程序可能是为了更好的安全性。谢谢,是的,我认为这可能是最好的。只是增加了一个延迟,但没有运气。我希望这能起作用。顺便说一句,我在每一行上都添加了断点。似乎是在运行它们,但不是result@StarGates你是否在键盘上没有弹出的应用程序的第一页?或者你可以尝试增加延迟,比如
wait Task.delay(600),在我这边有效。谢谢你回复我。你觉得我可以看看你的项目代码吗?是的,我的应用程序中只有一个页面。顺便说一句,只有当条目可见时,键盘才会弹出。当你隐藏条目时,它不会弹出