gpt4 book ai didi

c# - Xamarin Forms 项目中以 *CS.cs 结尾的文件的用途是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:30:12 27 4
gpt4 key购买 nike

我正在学习一些 Xamarin 开发。当我研究 Xamarin 项目的例子时,like this one ,我有时会看到一个页面有一个与 xaml 文件及其代码隐藏文件同名的神秘文件,但以 *CS.cs 结尾,如您所见,LoginPage 就是这种情况在上面的链接项目中:

  • 登录页面.xaml
  • 登录页面.xaml.cs
  • LoginPageCS.cs <--- 这是什么?

LoginPage.xaml 当然是布局的 xaml 描述,LoginPage.xaml.cs 是代码隐藏。但是 LoginPageCS.cs 是做什么的?我可以将其从项目中删除并使用与以前相同的功能重新运行解决方案。那么以*CS.cs结尾的文件有什么用呢?我见过几个示例项目,其中有 *CS.cs 文件。

最佳答案

查看代码,LoginPageCS.cs 似乎在很大程度上与 LoginPage.xaml 相同 - 因此是一种在 C# 中创建页面控件而不是 XAML 的方法。参见 this question讨论差异。

注意相似之处

登录页面.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="LoginNavigation.LoginPage" Title="Login">
<ContentPage.ToolbarItems>
<ToolbarItem Text="Sign Up" Clicked="OnSignUpButtonClicked" />
</ContentPage.ToolbarItems>
<ContentPage.Content>
<StackLayout VerticalOptions="StartAndExpand">
<Label Text="Username" />
<Entry x:Name="usernameEntry" Placeholder="username" />
<Label Text="Password" />
<Entry x:Name="passwordEntry" IsPassword="true" />
<Button Text="Login" Clicked="OnLoginButtonClicked" />
<Label x:Name="messageLabel" />
</StackLayout>
</ContentPage.Content>
</ContentPage>

登录页面CS.cs:

public LoginPageCS ()
{
var toolbarItem = new ToolbarItem {
Text = "Sign Up"
};
toolbarItem.Clicked += OnSignUpButtonClicked;
ToolbarItems.Add (toolbarItem);

messageLabel = new Label ();
usernameEntry = new Entry {
Placeholder = "username"
};
passwordEntry = new Entry {
IsPassword = true
};
var loginButton = new Button {
Text = "Login"
};
loginButton.Clicked += OnLoginButtonClicked;

Title = "Login";
Content = new StackLayout {
VerticalOptions = LayoutOptions.StartAndExpand,
Children = {
new Label { Text = "Username" },
usernameEntry,
new Label { Text = "Password" },
passwordEntry,
loginButton,
messageLabel
}
};
}

关于c# - Xamarin Forms 项目中以 *CS.cs 结尾的文件的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46846913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com