[英]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。 就像下面的图片一样。
TabbedPage是其他页面的容器。 每个选项卡都可以包含一个子导航页
TabbedPage
Tab 1 - NavigationPage(ContentPage)
Tab 2 - ContentPage
Tab 3 - NavigationPage(ContentPage)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.