我正在研究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?
答案 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());
}
}
它对我有用。