Xamarin表单页面导航

Xamarin表单页面导航,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我知道在Xamarin我们可以使用标签页,旋转木马页。。。但我想知道如果我像这样打开每一页: Application.Current.MainPage = new MyPage(); 这是一个糟糕的方法吗?这会影响性能还是其他方面?只要它对您有效,您就可以这样做。但是,它可能会导致一些问题,特别是您无法以任何方式使用系统返回功能。此外,您可能会丢失一些本应作为标准UI一部分且被视为良好实践的动画。基本上,当您使用PushAsync时,它会将新页面添加到导航堆栈的顶部。导航堆栈是后进先出,您可以

我知道在Xamarin我们可以使用标签页,旋转木马页。。。但我想知道如果我像这样打开每一页:

Application.Current.MainPage = new MyPage();

这是一个糟糕的方法吗?这会影响性能还是其他方面?

只要它对您有效,您就可以这样做。但是,它可能会导致一些问题,特别是您无法以任何方式使用系统返回功能。此外,您可能会丢失一些本应作为标准UI一部分且被视为良好实践的动画。

基本上,当您使用
PushAsync
时,它会将新页面添加到导航堆栈的顶部。导航堆栈是后进先出,您可以使用
PushAsync
popsync
或后退按钮进行管理。因此,当您使用
PopAsync
时,它会从堆栈中删除最后一页(就像使用后退按钮一样)

使用
Application.Current.MainPage=new MyPage()
对于打开每个页面,您只是覆盖了堆栈的第一个元素,因此您根本无法使用反向导航,因为您将始终在导航堆栈中保留一个页面


此外,使用这种方法,单击“后退”按钮将退出应用程序。

因此,仅禁止我使用“后退”按钮。非常感谢。