Xamarin.Forms: 应用没有在页面上显示元素
Xamarin.Forms: App does not show elements on the page
我目前正在学习使用 Xamarin.Forms 和 C#(学习的第一周),并且正在尝试创建一个基本的登录应用程序。
我从一个空白模板开始。现在,当我 运行 我的应用程序时,只弹出基本屏幕,而不是页面中的元素。怎么了?
App.xaml.cs
using Xamarin.Forms;
namespace XamarinApp
{
public partial class App : Application
{
public App()
{
InitializeComponent();
new LoginPage();
}
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
}
}
LoginPage.xaml
<?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="XamarinApp.LoginPage">
<ContentPage.Content>
<StackLayout>
<Label
Text="Welcome"
/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
LoginPage.xaml.cs
using Xamarin.Forms;
namespace XamarinApp
{
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
}
}
}
TL-DR
我相信要解决您的问题,您需要更改线路:
new LoginPage();
至:
MainPage = new LoginPage();
我的推理
您需要指定 MainPage
是什么。当您第一次开始时,这部分可能会让人感到困惑,因为提供的示例页面也称为 MainPage
,但一个是 class/Page
实现,另一个关键部分是 属性 提供通过您的 App
class 继承的 Application
class。这样应用程序 运行 知道它正在启动 Page
.
通常当您创建一个新的空白 Xamarin.Forms 应用程序时,您会在 App.xaml.cs
中看到以下代码
public App()
{
InitializeComponent();
MainPage = new MainPage();
}
我怀疑您添加到 LoginPage 中的更改以某种方式最终删除了关键部分:MainPage =
从该行。
我目前正在学习使用 Xamarin.Forms 和 C#(学习的第一周),并且正在尝试创建一个基本的登录应用程序。
我从一个空白模板开始。现在,当我 运行 我的应用程序时,只弹出基本屏幕,而不是页面中的元素。怎么了?
App.xaml.cs
using Xamarin.Forms;
namespace XamarinApp
{
public partial class App : Application
{
public App()
{
InitializeComponent();
new LoginPage();
}
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
}
}
LoginPage.xaml
<?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="XamarinApp.LoginPage">
<ContentPage.Content>
<StackLayout>
<Label
Text="Welcome"
/>
</StackLayout>
</ContentPage.Content>
</ContentPage>
LoginPage.xaml.cs
using Xamarin.Forms;
namespace XamarinApp
{
public partial class LoginPage : ContentPage
{
public LoginPage()
{
InitializeComponent();
}
}
}
TL-DR
我相信要解决您的问题,您需要更改线路:
new LoginPage();
至:
MainPage = new LoginPage();
我的推理
您需要指定 MainPage
是什么。当您第一次开始时,这部分可能会让人感到困惑,因为提供的示例页面也称为 MainPage
,但一个是 class/Page
实现,另一个关键部分是 属性 提供通过您的 App
class 继承的 Application
class。这样应用程序 运行 知道它正在启动 Page
.
通常当您创建一个新的空白 Xamarin.Forms 应用程序时,您会在 App.xaml.cs
中看到以下代码public App()
{
InitializeComponent();
MainPage = new MainPage();
}
我怀疑您添加到 LoginPage 中的更改以某种方式最终删除了关键部分:MainPage =
从该行。