繁体   English   中英

如何在不使用导航的情况下在 Xamarin 应用程序中打开页面?

[英]How can I open page in my Xamarin app without using navigation?

我有一个 Xamarin Forms 应用程序,它在工具栏上有 2 个按钮。 目前我正在使用 FreshMVVM(以及它的导航)。 我想加载页面而不将它们放入导航中。 我不想在工具栏上有“后退”按钮,也不希望用户返回最后一页。

这是我目前推送页面的方式:

CoreMethods.PushPageModel<FirstChoicePageModel>();

我试图以模态方式推送,但这样工具栏按钮在我按下之前不起作用。 如果我按下按钮,我应该制作新的导航容器并切换到它们吗?

自从我使用 FreshMVVM 已经有一段时间了,但如果我没记错的话,您有两个选择:

  1. 如果要完全重置导航堆栈,可以执行CoreMethods.PushPageModelWithNewNavigation<FirstChoicePageModel>();
  2. 如果要保留导航堆栈,可以设置NavigationPage.SetHasBackButton(this, false); 在视图后面的代码中。

对于这两个选项,可能需要拦截 Android 上的后退按钮。 在后面的代码中有一个可覆盖的方法:

protected override bool OnBackButtonPressed()
{
    return true; // prevent Xamarin.Forms from processing back button
}

如果您想显示一个页面,但又不想导航(更改当前页面),则始终可以使用 Popups。

请参阅此链接https://github.com/rotorgames/Rg.Plugins.Popup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM