c# - Xamarin.Forms:应用程序不在页面上显示元素
问题描述
我目前正在学习使用 Xamarin.Forms 和 C#(进入它的第一周),并且正在尝试创建一个基本的登录应用程序。
我从一个空白模板开始。现在,当我运行我的应用程序时,只会弹出基本屏幕,而不会弹出页面中的元素。怎么了?
应用程序.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()
{
}
}
}
登录页面.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>
登录页面.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
实现,另一个关键部分是Application
您的App
类继承的类提供的属性。这样应用程序在运行时就知道它正在启动Page
。
通常,当您创建新的空白 Xamarin.Forms 应用时,您将在 App.xaml.cs 中看到以下代码
public App()
{
InitializeComponent();
MainPage = new MainPage();
}
我怀疑您在 LoginPage 中添加的更改以某种方式最终删除了关键部分:MainPage =
从该行中删除。
推荐阅读
- grouping - 如何添加我们选择的组列名称
- vuejs3 - ApexCharts 在调整窗口大小之前不正确
- javascript - 如何使用 jquery 在剪贴板中复制
- php - 为什么即使在增加执行时间后,我在本地的 Word press 中也会出现 max_execution_time 错误?
- javascript - 角度js函数值在函数之外未定义
- android - 无法解析 com.github.glomadrian:MaterialAnimatedSwitch:1.1
- php - 如何将带有构造函数的类注入资源类 Laravel
- r - rsconnect::deployApp() 错误 - 路径无效
- selenium - 使用 Selenium 自动测试 Appian UI?
- python - 将同一张表的 SQL 全外连接转换为 pandas 数据帧的全外连接