我需要在整个应用中拥有TabbedPage
。在第一页中,标签显示正常。当我从Tab1开始第二页时,它隐藏了所有选项卡。我怎样才能在整个应用程序中使用Tab。
MainPage.xaml中
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TabbedApp.MainPage"
xmlns:local="clr-namespace:TabbedApp">
<local:DairyTabs></local:DairyTabs>
<ContentPage Title="Tab 2">
<StackLayout>
<Label Text="Tab 2"
HorizontalTextAlignment="Center"
HorizontalOptions="FillAndExpand"
Margin="5" />
</StackLayout>
</ContentPage>
</TabbedPage>
这是从第2页开始的代码
btnDemo.Clicked +=async delegate {
await Navigation.PushModalAsync(new Page2());
};
答案 0 :(得分:1)
我需要在整个应用程序中使用TabbedPage
您必须在TabbedPage中添加NavigationPage
作为子页面才能打开标签页内的页面
因此,在您的Xaml中,您可以在TabbedPage中有NavigationPage
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TabbedApp.MainPage"
xmlns:local="clr-namespace:TabbedApp">
<local:PageA/>
<NavigationPage Title="Your Title">
<x:Arguments>
<local:MyPage />
</x:Arguments>
</NavigationPage>
</TabbedPage>
然后你可以添加这样的页面
public class MainPageCS : TabbedPage{
public MainPageCS ()
{
var navigationPage = new NavigationPage (new MyPage ());
navigationPage.Title = "Your title";
Children.Add (new PageA ());
Children.Add (navigationPage);
}
}
因此可以从第二页执行导航,这是NavigationPage的一个实例,如下面的
async void OnSomeButtonClicked (object sender, EventArgs e)
{
await Navigation.PushAsync (new Page2());
}
此here
中的详细信息答案 1 :(得分:0)
尝试使用:
Navigation.PushAsync(new Page2());
而不是:
Navigation.PushModalAsync(new Page2());