.NET MAUI 社区工具包
.NET MAUI 社区工具包是一个集合了开发者在多个应用中经常复制使用的.NET MAUI开发常用元素的工具集。它简化并展示了使用.NET MAUI构建应用时的常见开发任务。
所有功能都由您,我们令人惊叹的.NET社区贡献,并由一组核心维护者维护。
最棒的是 - 您添加到.NET MAUI工具包的功能有朝一日可能会被纳入官方.NET MAUI库中!我们利用社区工具包来推出新功能,并与.NET MAUI工程团队密切合作,提名功能以供提升。
文档
所有CommunityToolkit.Maui
的文档都可以在Microsoft Learn上找到:
https://learn.microsoft.com/dotnet/communitytoolkit/maui/get-started
入门指南
要使用.NET MAUI社区工具包,您需要在MauiProgram.cs
文件中调用扩展方法,如下所示:
using CommunityToolkit.Maui;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
// 通过添加下面的代码行来初始化.NET MAUI社区工具包
.UseMauiCommunityToolkit()
// 初始化.NET MAUI社区工具包后,可以选择添加额外的字体
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
// 在此继续初始化您的.NET MAUI应用
return builder.Build();
}
}
XAML使用
要在XAML中使用工具包,您可以使用以下命名空间:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
路线图 / 计划
工具包的所有工作都由社区和核心维护者在业余时间的晚上和周末完成。因此,我们没有具体的功能添加和交付时间计划。我们有的是一份提案列表和一个项目看板,总结了它们的状态。请随时查看它们,并加入提供任何您觉得可以的帮助。
提交新功能
新功能将遵循以下工作流程,在下面的步骤中有更详细的描述
1. 开始讨论
关于新的Maui工具包功能的讨论以讨论的形式在此仓库中进行。
如果你想提出一个功能建议、讨论当前的设计说明或提案等,请开启一个新的讨论主题。
简短且紧扣主题的讨论更有可能被阅读。如果你留下第五十条评论,很可能只有少数人会读到。为了使讨论更易于导航和受益,请遵守以下几条经验法则:
- 讨论应与.NET MAUI工具包相关。如果不相关,将会被直接关闭。
- 选择一个能清晰传达讨论范围的描述性主题。
- 坚持讨论的主题。如果评论是切题的,或深入讨论了一个子主题,请开始一个新的讨论并链接回来。
- 你的评论对他人阅读是否有用,或者可以通过对现有评论的表情反应来充分表达?
2. 提交提案
一旦你有了一个充分详细描述新功能语法和语义细节的提案,请为它开启一个问题,它将被标记为提案。问题的评论区可用于讨论提案的细节,以及将其纳入.NET MAUI工具包的利弊。如果一个问题不符合完整提案的标准,我们可能会将其移至讨论区,以便进一步完善。提案中的特定开放问题或更广泛的讨论通常需要开启一个侧面讨论,而不是在问题的评论区中造成混乱。
3. 提案获得支持
当.NET MAUI工具包核心团队的成员认为一个提案值得纳入工具包时,他们可以支持它,这意味着他们将在每月的.NET MAUI工具包社区站会上提出。
4. 提案获得批准
.NET MAUI工具包核心团队将集体投票决定是否采纳和/或修改提案,需要多数批准(即超过50%)才能将其添加到工具包中。
一旦提案获得支持并得到.NET MAUI工具包核心团队的多数批准,就可以开启一个拉取请求。
5. 拉取请求获得批准
提交拉取请求后,它将由提案支持者审核并批准。
每个新功能还需要在.NET MAUI工具包示例应用中添加相关的示例。
6. 文档完成
在拉取请求可以合并到.NET MAUI工具包之前,拉取请求作者还必须将文档提交到文档仓库。
7. 完成
一旦拉取请求经过审核和批准,且文档已经编写、提交并获得批准,新功能将被合并,添加到.NET MAUI工具包中。
行为准则
作为.NET Foundation的一部分,我们采用了.NET Foundation行为准则。在参与此仓库之前,请熟悉该准则。谢谢!
.NET Foundation
本项目由.NET Foundation支持。