我正在使用 Xamarin.Forms 5.0.0.2012 编写一个 Xamarin.Forms 应用程序。
我正在尝试使用以下代码退出当前内容页面:
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 上,Application.Current不是我的应用程序类的实例,而是 Xamarin.Forms.PageExtensions.EmbeddedApplication 的实例。调用 PopAsync 没有任何效果,并且在检查 iOS 上的 Navigation 对象时,它显示了一个空的导航堆栈,而我希望在 Android 上看到和确实看到的 4 个页面。
iOS下如何访问正确的Navigation stack,达到退出当前内容表单的效果?
更多背景:
Application.Current 属性在应用程序生命周期的大部分时间都是正确的(即我的应用程序类的实例),直到呈现我遇到问题的内容页面。此特定页面还使用skiasharp 和skiasharp.forms 来创建要渲染的SKCanvas。我怀疑这与页面扩展应用程序类被实例化有关。