2

我在 Visual Studios 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 工作/它们不工作的原因吗?

4

4 回答 4

2

我遇到了同样的问题。我发现这是样式主题问题。这是我修复的方法。在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"/>
于 2018-01-28T04:35:37.943 回答
0

您可能还没有初始化 Page 的标题。在构造函数中执行此操作,例如:

        public MyPage()
        {
            InitializeComponent();
            Title = "MyPage";
        }

或在 XAML 中。它对我有用。

于 2020-01-11T01:59:16.470 回答
0

就我而言,它类似于@jason-ye 提到的主题内容。在我的 MainActivity 类中,我从 global::Xamarin.forms.Platform.Android.FormsApplicationActivity 继承 - 我将其切换到 FormsAppCompatActivity 并且我的选项卡再次开始出现。由于不同的构建错误(红鲱鱼......完全浪费时间),我之前需要切换继承,并且从那时起最终得到一个损坏的选项卡式应用程序。

于 2020-02-23T21:01:39.837 回答
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());             
}
于 2017-08-04T07:25:09.757 回答