Xamarin.forms 单击“后退”按钮时未调用Prism CanNavigate

Xamarin.forms 单击“后退”按钮时未调用Prism CanNavigate,xamarin.forms,prism,Xamarin.forms,Prism,假设我有这个场景 一个DataCollectorPage页面,通过导航从多个页面收集数据: 最初我在主页上 我导航到DataCollectorPage(相对导航) 假设我有两个页面可以收集数据 首先,我导航到page1(NavigationService.NavigateAsync(“page1”))并通过事件(sub/pub)从那里获取数据,非常简单。完成后,我返回到上一页DataCollectorPage -其次,我从DataCollectorPage导航到第2页,获取数据并返回Da

假设我有这个场景

一个DataCollectorPage页面,通过导航从多个页面收集数据:

  • 最初我在主页上

  • 我导航到DataCollectorPage(相对导航)

假设我有两个页面可以收集数据

  • 首先,我导航到page1(NavigationService.NavigateAsync(“page1”))并通过事件(sub/pub)从那里获取数据,非常简单。完成后,我返回到上一页DataCollectorPage
-其次,我从DataCollectorPage导航到第2页,获取数据并返回DataCollectorPage very简单场景

如何阻止用户返回(到主页),直到他保存收集的数据

是的,我知道我必须实现IConfirmNavigation,问题是(CanNavigate)在单击back按钮时永远不会被调用,而CanNavigate每次我导航到第1页或第2页时都会被调用

问题:为什么向前导航时调用CanNavigate,向后导航时不调用

有人能帮忙吗!
提前谢谢。

您使用的是什么版本的Prism?您还可以尝试更新到IConfirmNavigationSync@DanS。Brian通过twitter给我发了一条消息,说设计不支持这一点,我找到了一个解决办法,它适合我,你怎么看?是否有其他解决方案用于此pb,提前感谢:)@DanS。对不起,我使用的是Prism v 6.3.0.0我在上面的链接中找到的解决方案不适用于android,覆盖了MainActivity中的
OnOptions ItemSelected
OnBackPressed
两个选项都不起作用,断点甚至没有命中有人能帮忙吗