Xamarin 表单:可以在内容页面上以编程方式在 Shell App 中添加选项卡

Posted

技术标签:

【中文标题】Xamarin 表单:可以在内容页面上以编程方式在 Shell App 中添加选项卡【英文标题】:Xamarin form: Can Add tabs in Shell App programmatically on the contentpage 【发布时间】:2020-03-04 02:04:56 【问题描述】:

我通过谷歌搜索但找不到结果。

我有一个 Shell 设置 Xamarin 表单应用程序。尽管我没有完全使用它的功能,但在 xaml 文件中有一个选项卡设置。

我想知道我可以在 shellContent 下托管一个内容页面并从 contentPage 添加选项卡。

【问题讨论】:

【参考方案1】:

你想实现这样的 GIF 吗?

您可以像此代码一样在AppShell.xml 中为TabBar 添加x:Name。

   <TabBar x:Name="myTabBars">
        <Tab Title="Browse" Icon="tab_feed.png">
            <ShellContent ContentTemplate="DataTemplate local:ItemsPage" />
        </Tab>
        <Tab Title="About" Icon="tab_about.png">
            <ShellContent ContentTemplate="DataTemplate local:AboutPage" />
        </Tab>
    </TabBar>

AppShell.xml.cs中,公开这个标签栏。

   public partial class AppShell : Xamarin.Forms.Shell
    
        //  public static Shell myshell;
        public static TabBar mytabbar;
        public AppShell()
        
            InitializeComponent();

             mytabbar = myTabBars;


        
    

ContentPage中使用它。

       private void Button_Clicked(object sender, EventArgs e)
        


            ShellSection shell_section = new ShellSection
            
                Title = "home",

            ;

            shell_section.Items.Add(new ShellContent()  Content = new HomePage() );
            AppShell.mytabbar.Items.Add(shell_section);

        

【讨论】:

是的。但是在返回上一个屏幕或路由到其他屏幕时我需要删除吗 @LittleFunny 你能更清楚地解释你的需求吗?如果回复有帮助,请不要忘记将其标记为答案。

以上是关于Xamarin 表单:可以在内容页面上以编程方式在 Shell App 中添加选项卡的主要内容,如果未能解决你的问题,请参考以下文章

为 Xamarin 表单设置正确的图像尺寸

如何在不同的移动平台上以相同的方式显示内容?

Xamarin表单选项卡页面具有重叠的自定义视图

Xamarin表单(ios):以编程方式连接到wifi时的Runtimeexception

xamarin 表单 - 更改所有轮播内容页面上的按钮文本

Xamarin 表单导航和处理登录页面