.NET MAUI 社區工具包 1.3版本發布

2022 年 10 月 4 日,微軟發布了 .NET MAUI 社區工具包的 1.3 版,具體參見微軟官方部落格://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 上。

Tags: