Xamarin-如何从MasterDetail打开全屏页面

时间:2019-02-14 10:36:07

标签: c# xamarin navigation

我有一个MasterDetailPage,像DetailContentPageListView

当用户点击列表元素时,我需要打开一个全屏页面,其中包含被点击元素的详细信息。

我该怎么做?

我试图做

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

0 个答案:

没有答案