繁体   English   中英

有什么方法可以在Xamarin.Forms的同一页上插入导航栏和标签栏?

[英]Is there any way to insert a Navigation Bar and a Tab Bar in the same page on Xamarin.Forms?

正如标题所说,我正在一个新项目中,一直试图在Xamarin Forms的同一页面上插入导航栏和选项卡栏而陷入困境。 问题是:我只能插入一个或另一个,而不能两者都插入。 你们是否知道解决此问题的任何方法,例如使用自定义渲染器或类似方法?

XAML代码要么以

<ContentPage ... />

或者以

<TabbedPage ... />

如果有人可以帮忙,我会很高兴!

有什么方法可以在Xamarin.Forms的同一页上插入导航栏和标签栏?

当然可以实现! 您可以使用子Page对象的集合(例如ContentPage或NavigationPage实例的集合)填充TabbedPage。请参考以下代码。

在App.xaml.cs中(主页是TabbedPage)

public partial class App : Application
{
    public App()
    {
        InitializeComponent();

        MainPage =new HomePage(); 
    }

    protected override void OnStart()
    {
        // Handle when your app starts
    }

    protected override void OnSleep()
    {
        // Handle when your app sleeps
    }

    protected override void OnResume()
    {
        // Handle when your app resumes
    }
}

在HomePage.xaml.cs中(Mypage和MyPage1是ContentPages)

public partial class HomePage : TabbedPage
{
    public HomePage()
    {
        InitializeComponent();


        var contentPage = new MyPage1();
        contentPage.Title = "Page1";
        contentPage.Icon = "Mine.png";

        var navigationPage = new NavigationPage(new MyPage());
        navigationPage.Icon = "Mine.png";
        navigationPage.Title = "Page2";

        Children.Add(contentPage);
        Children.Add(navigationPage);

    }

  }
}

或者,您也可以使用HomePage.xaml中的XAML代码来实现它

<?xml version="1.0" encoding="UTF-8"?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:local="clr-namespace:xxx" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="xxx.HomePage">
  <local:MyPage Title="Page1" Icon="xxx.png"/>    
  <NavigationPage Title="Page2" Icon="xxx.png">
    <x:Arguments>
        <local:MyPage1 />
    </x:Arguments>
  </NavigationPage>
</TabbedPage>

现在,TabbedPage填充了两个子Page对象。 第一个子项是ContentPage实例,第二个选项卡是包含ContentPage实例的NavigationPage。 就像下面的图片一样。

EFFECT1

EFFECT2

TabbedPage是其他页面的容器。 每个选项卡都可以包含一个子导航页

TabbedPage
  Tab 1 - NavigationPage(ContentPage)
  Tab 2 - ContentPage
  Tab 3 - NavigationPage(ContentPage)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM