我在Visual Studio 2017上使用Xamarin Forms。在我的PCL中,我创建了一个标签页并将子页放在里面。但是,当我运行我的代码并单击选项卡页时,只显示我的第一个子页面(UploadPage)。我没有在顶部或底部看到标签栏(我目前正在使用Android手机和模拟器)。这是我的代码:
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Xam1;assembly=Xam1"
x:Class="Xam1.PersonalAccountPage">
<local:UploadPage></local:UploadPage>
<local:MyVideosPage></local:MyVideosPage>
<local:TrainingVideosPage></local:TrainingVideosPage>
</TabbedPage>
后面的代码是:
public partial class PersonalAccountPage : TabbedPage
使用常规构造函数。
我可以尝试使TabbedPages工作/他们不工作的原因吗?
答案 0 :(得分:1)
我遇到了同样的问题。我发现这是风格主题问题。这是我修复的方式。 在styles.xml文件中,我更改为
<style name="MainTheme" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar">true</item>
<item name="android:windowNoTitle">false</item>
<item name="android:windowFullscreen">true</item>
</style>
在Android Manifest.xml中,我添加了
<application android:theme = "@style/MainTheme"/>
答案 1 :(得分:0)
将您的子页面放在TabbedPage.Children
中 <TabbedPage.Children>
<local:UploadPage></local:UploadPage>
<local:MyVideosPage></local:MyVideosPage>
</TabbedPage.Children>
或者以编程方式进行:
public MyTabbedPage ()
{
InitializeComponent ();
Children.Add(new Page1());
Children.Add(new Page2());
}
答案 2 :(得分:0)
您可能尚未初始化Page的标题。 在构造函数中执行以下操作:
public MyPage()
{
InitializeComponent();
Title = "MyPage";
}
或在XAML中。它对我有用。
答案 3 :(得分:0)
就我而言,它类似于@ jason-ye提到的主题。在我的MainActivity类中,我从global :: Xamarin.forms.Platform.Android.FormsApplicationActivity继承-我将其切换为FormsAppCompatActivity,并且我的标签再次开始出现。由于存在不同的构建错误(红色鲱鱼,总浪费时间),我以前曾经需要切换继承,并且此后一直使用选项卡式应用程序损坏。