页面标题不会显示在xamarin Forms项目中

时间:2016-07-12 09:33:21

标签: c# xamarin xamarin.forms xamarin-studio

我正在研究xamarin Forms。当我创建空白的xamarin.form项目时,在一个解决方案中创建了4个项目。一个用于iOS,一个用于Android,一个用于Windows,一个项目是Portable项目(Common Project)。

我添加了一个名为“Page2.XAML”的XMAL表单,设计代码是

 <?xml version="1.0" encoding="utf-8" ?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="Rutul_App.Page2"
                 Title="aaaa">
      <ContentPage.Content>
        <StackLayout>
          <Label Text="ABC" HorizontalOptions="Center"/>
        </StackLayout>
      </ContentPage.Content>

    </ContentPage>

和文件后面的代码是

namespace Rutul_App
{
    public partial class Page2 : ContentPage
    {
        public Page2()
        {
            InitializeComponent();
        }
    }
}

在App.cs页面中,我添加了

public App()
    {
        // The root page of your application
        MainPage = new NavigationPage(new Page2());
    }

问题:

问题是标题不显示甚至BackGroundImage也不显示。有这么多的财产不起作用。

我的页面继承自ContentPage,但我无法访问ContentPage类的属性。属性是公开的。

为什么Title不是diplay?

3 个答案:

答案 0 :(得分:3)

您可以在App.xaml.cs中将页面定义为NavigationPage,而不在xaml文件中声明NavigationPage,即在App.xaml.cs中如此:

InitializeComponent();

MainPage = new NavigationPage(new Page2());

这对我有用。

答案 1 :(得分:1)

尝试

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Rutul_App.Page2"
             Title="aaaa" NavigationPage.HasNavigationBar="True">

应该有效

答案 2 :(得分:0)

如果上述答案没有奏效,那么请确保使用默认值保留MainActivity.cs和styles.xml。 e.g。

[Activity(Label = "SMSMobile.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = false, NoHistory = false, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.Tabbar;
        ToolbarResource = Resource.Layout.Toolbar;
        base.OnCreate(bundle);
        global::Xamarin.Forms.Forms.Init(this, bundle);
        LoadApplication(new App());
    }
}

它对我有用。