在Xamarin.Forms Prism中,有什么方法可以取消弹出导航?
例如,我调用了导航方法来导航到一个弹出页面。但是出于某些原因,我想在该导航完成之前取消该导航。
这可能吗?
谢谢。
答案 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