【发布时间】:2017-03-03 13:14:47
【问题描述】:
我有一个使用 Prism 6.3 pre-2 的主详细信息页面设置,我终于让它按预期工作,导航到“详细信息”页面;所以汉堡按钮显示滑动抽屉,我有一个简单的 ListView 绑定到 ViewModel,我列出了一些项目,我使用 NavigateCommand 正确导航。
现在,预期的行为(在 Android 中)是,当您导航到滑出菜单中的其他项目时,您应该能够使用硬件后退按钮导航回第一个“详细信息”页面显示。
例如,假设您的应用具有此设置,并且列出的项目是收件箱、草稿和已发送。默认视图将是您决定的默认详细视图,在此示例中,它很可能是收件箱。因此,如果我导航到已发送,然后按返回,它应该返回到收件箱,同样,如果我转到已发送 -> 草稿,然后按返回,它应该返回到收件箱,因为这是默认的起点,如果您再次按下返回,应用程序应该退出。目前,使用 Prism 导航,无论您使用此设置导航到哪个页面,它都会立即退出。
请注意,我已经正确设置了,我基本上有这样的东西(例如):
await NavigationService.NavigateAsync("RootPage/BaseNavigationPage/InboxPage");
当我导航到像 Sent 这样的另一个页面时,相对 URI 是这样的:
"BaseNavigationPage/SentPage"
现在,当按下返回时,它应该回到收件箱页面,我不确定如何解决这个问题......大脑......???
除此之外,还缺少另一种意外行为。 如果我想在使用主详细信息页面时显示模式页面,它不会像谷歌编写的任何应用程序那样工作......如果你打开任何具有这种布局的谷歌应用程序,这很容易看到。如果您显示设置模式窗口,它会弹出,设置导航标题和后退箭头,基本上看起来就像您向下导航一步一样:
"RootPage/BaseNavigationPage/InboxPage/EmailPage"
但是,如果我执行以下操作,我希望此功能可用:
"BaseNavigationPage/SettingsPage", useModalNavigation:true
如果您只是简单地使用任何 Google 制作的应用程序,您就会看到这些功能,这些都是我所期望的,而且感觉很自然。
有什么帮助可以实现这个...?再次...布赖恩...?
所有这些都应该很简单,但事实证明并非如此......
【问题讨论】:
标签: android xaml xamarin.forms prism master-detail