Xamarin的.“应用程序形式.当前"在iOS下不是我的应用程序类

2022-01-25 03:22:58 标签 iosxamarinxamarin.formsskiasharp

我在写Xamarin。使用Xamarin创建应用程序。5。0。0。2012形式。

我试图退出当前的内容页面使用以下代码:

        async void _quitButton_Clicked(object sender, EventArgs e)
        {
            bool doQuit = await DisplayAlert("Confirm", "Are you sure you want to quit?", "yes", "no");
            if (doQuit)
            {
                await Application.Current.MainPage.Navigation.PopAsync();
            }
        }

这在Android下工作,但在IOS应用程序。Current不是我的应用程序类的实例,而是Xamarin。Forms。PageExtensions。EmbeddedApplication的实例。调用PopAsync没有效果,在检查iOS上的导航对象时,它显示了一个空的导航堆栈vs 4个页面,我希望看到和看到在Android上。

如何在iOS下访问正确的导航堆栈,以达到退出当前内容形式的相同效果?

更多的背景:

应用程序。当前的属性是正确的(即我的应用程序类的一个实例)应用程序生命周期的大部分,直到我有问题的内容页呈现。这个页面也使用了skisharp和skisharp。窗体来创建一个SKCanvas来渲染。我的怀疑是,这与页面扩展应用程序类实例化有关。

这似乎是一个模糊的引用,你可能导入了错误的命名空间到你的iOS项目。尝试引用Application类的完整命名空间路径:

Xamarin。Forms。Application。Current

我弄明白了。这是我犯的一个愚蠢的错误。

我在不相关的ios特定代码中创建了一个新的ViewController在我正在试验的东西中,这导致app。current静态属性被覆盖。

(实验代码是关于强制内容页面以横向方向显示,在某一点上,我的印象是在iOS的Xamarin。Forms下需要一个自定义视图控制器来实现这一点。事实并非如此,但死代码仍然在执行。)

阅读全文

▼ 版权说明

相关文章也很精彩
推荐内容
更多标签
相关热门
全站排行
随便看看

错说 cuoshuo.com —— 程序员的报错记录

部分内容根据CC版权协议转载;网站内容仅供参考,生产环境使用务必查阅官方文档

辽ICP备19011660号-5

×

扫码关注公众号:职场神器
发送: 1
获取永久解锁本站全部文章的验证码