Dim*_*ris 1 prism xamarin.forms
使用 Xamarin.Forms v4.5 和 Prism v7.2
我有一个有 3 个页面的 APP(PageA、PageB 和 PageC)。
我可以从 PageA 导航到 PageB,然后从 PageB 导航到 PageC。在 PageC 中,我可以点击后退按钮并返回到 PageB。
我的问题是,当我导航到 PageB(从 PageA 或 PageC)时,Prism 是否提供了一种方法来识别我是否通过按后退按钮最终到达 PageB?
目前,Xamarin.Forms 不提供挂钩底层导航服务并拦截某些流程中完整导航过程的方法,例如当有人单击硬件后退按钮时。因此,我们的能力有限,因此无法支持 IConfirmNavigation 来阻止您离开。
话虽如此,我们可以观察到页面已弹出,并且我们仍然可以调用OnNavigatedFrom
/ OnNavigatedTo
。您可以通过获取 NavigationMode 轻松确定发生了什么。为此,您的代码可能如下所示:
public void OnNavigatedTo(INavigationParameters parameters)
{
var mode = parameters.GetNavigationMode();
switch(mode)
{
case NavigationMode.New:
break;
case NavigationMode.Back:
break;
case NavigationMode.Forward:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1116 次 |
最近记录: |