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

时间:2019-07-03 07:06:49

标签: c# xamarin xamarin.forms prism

在Xamarin.Forms Prism中,有什么方法可以取消弹出导航?

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

这可能吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

如果结果为假,则可以使用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