如何从 CarouselPage 导航到 MasterDetailPage [英] How to navigate from CarouselPage to MasterDetailPage

查看:20
本文介绍了如何从 CarouselPage 导航到 MasterDetailPage的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须从 CarouselPage 导航到 MasterDetailPage.我创建了两个不同的我的第一个页面是轮播页面,点击 Curousel 页面中的任何按钮,我应该导航到 masterdeatilpage.

I have to navigate from CarouselPage to MasterDetailPage. I have created two different my first page is carousel page on click of any button in curousel page i should navigate to masterdeatilpage.

请帮我看看如何编写代码,我的母版页和详细页不同,两者都写在内容页中.

Please help me out how to write the code and my master page is different and detail page is differnet both is written in content page.

代码:

app.cs

public static MasterDetailPage MasterDetailPage;
public App()
{
    var isLoggedIn = App.Current.Properties.ContainsKey("IsLoggedIn")? (bool)Properties["IsLoggedIn"] : false;
        // The root page of your application
        if (isLoggedIn)
        {
            MasterDetailPage = new Xamarin.Forms.MasterDetailPage
            {
                Master = new Menu(),
                Detail = new NavigationPage(new detail())
                {
                    Tint = Color.FromHex("313FA0")
                }
            };

            MasterDetailPage.MasterBehavior = MasterBehavior.Popover;

            MainPage = MasterDetailPage;
        }
        else
        {
           MainPage = new NavigationPage(new carousel());
        }
}

carousel.xaml.cs

carousel.xaml.cs

<CarouselPage>
 <ContentPage>
   <StackLayout>
     <Button Text="click" Clicked="funca()"/>
   </StackLayout>
  </ContentPage>
</CarouselPage>

carousel.cs

carousel.cs

void funca(object sender, EventArgs e){
    App.MasterDetailPage.Master = new Menu();
    App.MasterDetailPage.Detail = new NavigationPage(new detail());
    App.MasterDetailPage.IsPresented = false;  
}

点击按钮显示错误

System.Exception: Object reference not set to an instance of an object

请帮帮我

推荐答案

我在@Tomasz Kowalczyk 的帮助下找到了给定问题的答案,谢谢老兄

I found the answer of the given question with help of @Tomasz Kowalczyk thanks dude

我创建了一个类 MasterPage.cs

I created one class MasterPage.cs

public class MasterPage : MasterDetailPage
{
    public MasterPage()
    {
        Master = new Menu();
        Detail = new NavigationPage(new detail());
    }
}

app.cs

public App()
{
  var isLoggedIn = App.Current.Properties.ContainsKey("IsLoggedIn")? (bool)Properties["IsLoggedIn"] : false;
    // The root page of your application
    if (isLoggedIn)
    {
        MainPage = new MasterPage();
    }
    else
    {
       MainPage = new NavigationPage(new carousel());
    }
}

carousel.cs

carousel.cs

void funca(object sender, EventArgs e){
   MasterPage mp = new Menu();
   mp.Detail = new NavigationPage(new Detail());
   App.Current.MainPage = mp;
}

这篇关于如何从 CarouselPage 导航到 MasterDetailPage的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆