【发布时间】:2016-11-21 09:40:50
【问题描述】:
(使用 Prism 6.1.0-pre6 和 XF 2.3.0.107)
总结:从 TabbedPage 导航到 ContentPage 不会显示工具栏/操作栏。
我从另一个页面导航到 TabbedPage (MainPage.xaml)。这看起来像这样:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Or.Console.Views"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="Or.Console.Views.MainPage">
<local:APage/>
<local:BPage/>
<local:CPage/>
</TabbedPage>
在 APage 的 ViewModel 中,我正在调用
_navigationService.NavigateAsync("DetailsPage");
DetailsPage 只是一个 ContentPage,我希望它会在顶部显示后退按钮和操作栏,但事实并非如此。
我猜这是因为 Prism 不知道标签子页面,只知道 TabbedPage 本身。
我尝试使用 Prism 注册标签子页面,但这似乎不起作用。还尝试将每个子选项卡包装在 NavigationPage 中,但这会导致工具栏重复出现一些奇怪的行为。
在选项卡式内容中导航的正确方法是什么?
编辑: 为了回应 Brian Lagunas 的回答,我尝试将 TabbedPage 包装在 NavigationPage 中,所以当我导航到它时,我正在调用
_navigationService.NavigateAsync("DeviceNavWrapper/MainPage");
EDIT2:在我的案例中,解决方案最终是我需要从 APage 调用 NavigateAsync 并将 useModalNavigation 设置为 false。所以现在 APage 有这个:
_navigationService.NavigateAsync("DetailsPage", null, false);
【问题讨论】:
-
谢谢 Erin,这解决了我的问题
标签: xamarin.forms prism