微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Xamarin 表单的所有屏幕中显示 TabbedPage?

如何解决如何在 Xamarin 表单的所有屏幕中显示 TabbedPage?

我正在使用 TabbedPage 在 Xamarin 表单中显示底部选项卡。为此,我以编程方式将子页面(Page1、Page2、Page3)添加到 TabbedPage。首先我有登录屏幕,点击登录按钮它会重定向标签页,并会在底部显示所有三个标签

还有其他页面(Page4、Page5)我们没有在标签页中显示为子页面。但根据用户打开 page4 或 page5 时的要求,底部标签栏应显示

总的来说,我的意思是底部标签栏应该显示给应用程序中的所有屏幕,即使某些屏幕不是 TabbedPage 的子屏幕。

谁能告诉我如何完成这项任务。提前致谢。

解决方法

您可以将 TabbedPage 的子项包装在 NavigationPages 中,这样当您从这些选项卡之一导航到另一个页面时,它们仍会显示:

<?xml version="1.0" encoding="UTF-8" ?>
<TabbedPage
    x:Class="SampleTabbedPage.Views.MainPage"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:views="clr-namespace:SampleTabbedPage.Views;assembly=SampleTabbedPage"
    NavigationPage.HasNavigationBar="False">

    <!-- Page 1 -->
    <NavigationPage IconImageSource="ic_home">
        <x:Arguments>
            <views:HomePage />
        </x:Arguments>
    </NavigationPage>

    <!-- Page 2 -->
    <NavigationPage IconImageSource="ic_profile">
        <x:Arguments>
            <views:ProfilePage />
        </x:Arguments>
    </NavigationPage>
</TabbedPage>

在代码后面:

var tabbedPage = new TabbedPage();
tabbedPage.Children.Add(new NavigationPage(new Page1()));
tabbedPage.Children.Add(new NavigationPage(new Page2()));
tabbedPage.Children.Add(new NavigationPage(new Page3()));

然后你可以从其中一个子页面调用:

await Navigation.PushAsync(new YourNewPage());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。