.NET MAUI社区工具包(预览)使用示例

468 阅读4分钟

社区工具包团队很高兴地宣布首次预发布两个新的.NET多平台应用程序用户界面(.NET MAUI)工具包:

正如上个月所宣布的,这些库是Xamarin社区工具包的演变。它们包含了.NET MAUI扩展、高级UI/UX控件、效果和行为,以帮助你作为一个.NET MAUI开发者的生活更加轻松。

这些功能是由你--我们了不起的.NET社区贡献的,并由一组核心维护者维护(见下文 "关注社区")

而且,最重要的是,你添加到.NET MAUI工具包中的功能可能有一天会被纳入官方的.NET MAUI库中我们利用社区工具包首次推出新功能,并与.NET MAUI工程团队密切合作,提名功能进行推广。

对.NET MAUI工具包的期待

.NET MAUI工具包还不包括来自Xamarin社区工具包的所有惊人的社区贡献。我们正在积极地将它们从Xamarin.Forms移植到.NET MAUI,它们将在即将发布的版本中出现(见下面的 "时间表")

Maui Toolkit Features

.NET MAUI工具包将不包含Xamarin社区工具包的MVVM功能,如 AsyncCommand.展望未来,我们将把所有的MVVM特定功能添加到一个新的NuGet包中,CommunityToolkit.MVVM

在.NET MAUI标记工具包中可以期待什么?

.NET MAUI标记工具箱允许开发者继续使用MVVM、绑定、资源字典等来架构他们的应用程序,而不需要XAML:

  • 流利的C# UI扩展
  • 使用MVVM(无XAML)在C#中创建你的.NET MAUI UI

.NET MAUI标记工具箱包含了Xamarin社区工具箱中所有的C# UI扩展方法。

下面是我的开源HackerNews应用程序的例子:

内容页DataTemplate
链接到源代码链接到源代码
ContentPageContentPage

文档

我们与微软文档团队合作,为社区工具包的所有文档找到了一个新家。当我们宣布社区工具包文档在docs.microsoft.com的新位置时,请继续关注未来的更新。

开始使用

这两个MauiCompat 库都以NuGet包的形式提供,可以添加到任何针对net6.0-iosnet6.0-android 的.NET 6项目中:

CommunityToolkit.MauiCommunityToolkit.Maui.Markup
NuGet包www.nuget.org/packages/Co…www.nuget.org/packages/Co…
  1. 在Visual Studio中打开一个.NET MAUI项目

  2. Visual Studio Package Manager控制台中,输入以下命令:

    Install-Package CommunityToolkit.Maui
    

    Install-Package CommunityToolkit.Maui.Markup
    
  3. 要将命名空间添加到工具包中:

    • 在C#中,添加以下内容。

      using CommunityToolkit.Maui;
      

      using CommunityToolkit.Maui.Markup;
      
    • 在XAML中,添加以下内容:

      xmlns="https://schemas.microsoft.com/dotnet/2021/maui"
      xmlns:behaviors="clr-namespace:CommunityToolkit.Maui.Behaviors;assembly=CommunityToolkit.Maui"
      xmlns:converters="clr-namespace:CommunityToolkit.Maui.Converters;assembly=CommunityToolkit.Maui"
      xmlns:effects="clr-namespace:CommunityToolkit.Maui.Effects;assembly=CommunityToolkit.Maui"
      xmlns:views="clr-namespace:CommunityToolkit.Maui.Views;assembly=CommunityToolkit.Maui"
      

社区

虽然这些库是与微软的.NET团队合作建立的,但这确实是一个社区的努力。核心团队,Andrei Misiukevich,Pedro Jesus,Gerald Versluis,Javier Suárez, 和(我)Brandon Minnick,在这里主要是为了推动事情的发展。

我们非常需要你的帮助和投入。无论是通过分流问题、更新文档、参与讨论还是添加实际的代码,我们都需要你的帮助。

从11月开始,在.NET MAUI Community Toolkit的第一次正式发布(又称非预发布)之后,我们鼓励你打开功能请求和建议,将你最喜欢的.NET MAUI扩展添加到工具包中:

一旦你的建议被批准,我们将欢迎你提交一个拉动请求,将你自己的功能添加到工具包中。

时间安排

.NET MAUI社区工具包将于2021年11月与.NET MAUI和.NET 6一起发布:

日期里程碑
2021年8月第一个NuGet预发布CommunityToolkit.Maui
2021年8月第一个NuGet预发布CommunityToolkit.Maui.Markup
2021年9月第二次NuGet预发布CommunityToolkit.Maui
2021年9月第二次NuGet预发布CommunityToolkit.Maui.Markup
2021年10月第三次NuGet预发布CommunityToolkit.Maui
2021年10月第三次NuGet预发布CommunityToolkit.Maui.Markup
2021年11月.NET MAUI GA
2021年11月CommunityToolkit.Maui GA
2021年11月开始接受新的提案和功能请求CommunityToolit.Maui
2021年11月CommunityToolkit.Maui.Markup 大会
2021年11月开始接受新的提案和功能请求CommunityToolit.Maui.Markup

摘要

.NET MAUI社区工具包仍然是一项正在进行的工作,但我们今天想与你分享我们的进展!

当你开始你的.NET MAUI之旅时,请尝试一下工具包,在我们的GitHub仓库中打开建议,加入讨论,并帮助我们为社区制作最好的工具包!