我有一个MasterDetailPage
,像Detail
,ContentPage
和ListView
。
当用户点击列表元素时,我需要打开一个全屏页面,其中包含被点击元素的详细信息。
我该怎么做?
我试图做
await BaseViewModel.NavigationService.PushAsync(NavigationPage(MyPage));
但是它不起作用,什么也没发生。
BaseViewModel.NavigationService
是母版页的NavigationPage
:
<?xml version="1.0" encoding="utf-8" ?>
<MasterDetailPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:views="clr-namespace:SgatMobileV3.Views"
xmlns:core="clr-namespace:SgatMobileV3.Core"
core:LocatorViewModel.AutoWireViewModel="True"
x:Class="SgatMobileV3.Views.MainPage">
<MasterDetailPage.Master>
<views:MenuPage x:Name="MenuPage" />
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage x:Name="NavigationServicePage">
<x:Arguments>
<views:EmptyPage />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
然后在页面的Init中执行以下操作:
public MainPage()
{
InitializeComponent();
MasterBehavior = MasterBehavior.Popover;
BaseViewModel.NavigationService = NavigationServicePage;
}
我想在点击事件中打开的页面是另一个MasterDetailPage
。