.NET MAUI Preview 11 現已釋出。該版本中增加了第一批 Fluent UI 控制元件樣式、多視窗實現、控制元件功能和另一組 iOS 型別對齊。官方表示,其計劃在 2022 年第一季度交付候選版本,並在 2022 年第二季度交付最終版本。
新版本具體亮點內容如下:
使用 Fluent Design System 的 Windows 控制元件樣式
Windows 11 通過更新的 引入了新的 UI 樣式,並且 .NET MAUI 將所有控制元件樣式設定為使用最新的。後續預覽將以此為基礎,新增更多控制元件和對主題的支援。在預覽版 11 中,你將看到以下內容的初始更新:
Multi-window Apps
與 Xamarin.Forms 相比,.NET MAUI 的主要更新之一是引入了多視窗。Application.Current.Windows 持有對你所建立的所有視窗的參照。範例:
var secondWindow = new Window {
Page = new MySecondPage {
// ...
}
};
Application.Current.OpenWindow(secondWindow);
在 v1.1 版釋出之前,Windows App SDK 的多視窗實現將處於階段(見)。
Templates and C# 10
此版本使用 C# 10 模式更新了模板,如 implicit usings 和檔案範圍的名稱空間,併為 ContentPage 和 ContentView 增加了專案模板。現在,當你的專案選擇使用 ImplicitUsings 時,你會看到一個更乾淨的專案檔案,如模板的 MauiProgram.cs。
namespace Preview11;
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
iOS、macOS 和 tvOS 型別對齊
作為用 .NET 6 統一 Xamarin SDK 的一部分,開發團隊一直在努力更新蘋果相關 SDK,以便在 .NET 6 中使用本地 nint 和 nuint 型別,而不是 System.nint 和 System.nuint。這將影響到使用 .NET 6 為 iOS、macOS 和 tvOS 構建的現有庫。要採用這一變化,你必須針對 NET 6 重新編譯你的程式碼,如果你明確使用上述型別,你應該更新你的 .NET 6 程式碼以使用 C# 型別。
新的 .NET MAUI 檔案
為 .NET MAUI 釋出了一批新的檔案,包括 Accessibility、BlazorWebView、Border、GraphicsView、Maui.Graphics、Shadows、Splash Screen、多目標以及如何呼叫平臺程式碼的新指南。正在被移植和更新到 .NET MAUI 中,從現在開始將定期釋出。當你找不到你需要 的.NET MAUI 檔案時,可檢視是否有 Xamarin.Forms 檔案,因為大多數概念也都適用於 .NET MAUI。
詳情可