有什么办法可以取消 Xamarin Prism 中的弹出导航吗?

Is there any way to cancel the popup navigation in Xamarin Prism?

在Xamarin.FormsPrism中,有没有办法取消弹出导航?

比如我调用了navigation方法,导航到一个弹出页面。但是出于某些原因,我想在该导航完成之前取消该导航。

这可能吗?

提前致谢。

如果结果为 false,您可以使用 IConfirmNavigation 来阻止导航。它不会取消导航,而是在它发生之前确保导航是否可能(无论如何这更有意义)

您需要对您的 ViewModel 实施 IConfirmNavigation

public class ContactPageViewModel : IConfirmNavigation 
{
  public bool CanNavigate(NavigationParameters parameters)
  {
    return true;
  }
}

现在,每当您尝试导航时,它都会检查此方法以查看 CanNavigate 是否为真。

来源:https://prismlibrary.github.io/docs/xamarin-forms/navigation/confirming-navigation.html