2022 年 10 月 4 日,微軟釋出了 .NET MAUI 社群工具包的 1.3 版,具體參見微軟官方部落格:https://devblogs.microsoft.com/dotnet/announcing-the-dotnet-maui-community-toolkit-v13/ ,該工具包是 MAUI 官方應用程式架構的補充庫。此版本包括錯誤修複和多項增強功能,例如 gravatar 支援、彩色狀态欄和控件的淡入淡出動畫。
MAUI(多應用程式使用者界面)架構是微軟用于跨平台應用程式開發的最新架構,取代了 Xamarin 和 Xamarin Forms。它已經在2022年8月正式釋出,在 GitHub 上仍然有數百個未解決的 Bug,社群是以認為官方過早地釋出了這個版本。
.NET MAUI區工具包 (NMCT) 是微軟在 GitHub 上托管的 .NET 社群工具包之一。他們的目的是讓社群貢獻官方架構中缺少的有用代碼。社群工具包作為開源軟體釋出,它們鼓勵開發人員送出他們的貢獻。
NCMT 的第一個版本于 2021 年 7 月推出,作為現有 Xamaring 社群工具包的替代品。 1.3 版本是繼今年 3 月 NCMT 正式釋出後的第三個增強版本。其中兩項工具包改進已作為行為實作,這是MAUI架構中的設計決策,允許開發人員向現有使用者界面控件添加功能,而無需對它們進行子類化并使用擴充類。
彩色狀态欄是一種稱為狀态欄行為的新行為類。它允許開發人員将其添加到頁面行為的集合中,指定狀态欄顔色和樣式(無論是深色還是淺色内容)。
<ContentPage.Behaviors>
<toolkit:StatusBarBehavior StatusBarColor="Fuchsia" StatusBarStyle="LightContent" />
</ContentPage.Behaviors>
如果開發人員以 iOS 平台為目标,則在 Info.plist 中繼資料檔案中稍作更改以支援此功能。
淡入淡出動畫将添加到現有的動畫行為類中。它允許開發人員對可視 UI 元素的不透明度進行動畫處理,從其原始不透明度到指定的不透明度級别,然後再傳回。
此動畫的源代碼如下所示:
<Button Text="Click this Button">
<Button.Behaviors>
<toolkit:AnimationBehavior EventName="Clicked">
<toolkit:AnimationBehavior.AnimationType>
<toolkit:FadeAnimation Opacity="0.2"/>
</toolkit:AnimationBehavior.AnimationType>
</toolkit:AnimationBehavior>
</Button.Behaviors>
</Button>
塗鴉圖像源允許開發人員利用現有的Gravatar來擷取使用者配置檔案。它被實作為一個名為GravatarImageSource 的專用圖像源類,其中 Email 屬性指定使用者配置檔案。
<Image>
<Image.Source>
<toolkit:GravatarImageSource
CacheValidity="1"
CachingEnabled="True"
Email="[email protected]"
Image="MysteryPerson" />
</Image.Source>
</Image>
圖像源中還有其他屬性可以進一步優化 gravatar 的緩存生命周期,或者在找不到 gravatar 時提供預設圖像。
此版本中的一個小增強功能是為微軟的社群工具包提供了SourceLink 調試符号。源連結允許Visual Studio 下載下傳 NuGet 包的源代碼和調試中繼資料。開發人員在調試使用庫的代碼時,可以單步執行庫實作本身。
新添加的功能已在 NMCT 的示例應用程式中提供,該應用程式也托管在 GitHub 上。