Microsoft Build and Preview 4の後の1か月、.NET MAUIチームは.NET Multi-platform App UIの改善を続けており、Preview 5が目前である。アニメーションとビュー変換がサポートされ、Xamarin.Forms
のレンダラーアーキテクチャからUIコンポーネントのいくつか移植され、また、単一プロジェクトテンプレートの更新、改善された。
また、このリリースの一部として、.NET MAUIの導入と基本に関するドキュメントのプレビューバージョンも閲覧できる。
このリリースでは、いくつかのコントロールに、Xamarin.Formsのレンダラーアーキテクチャからハンドラーに移植されたすべてのプロパティとイベントが含まれるようになった。そのコントロールは、例えば、ActivityIndicator、CheckBox、Image、Stepperである。以前のプレビュー版では、コントロールが移植されているかどうかを確認し、使用できないレンダラーを互換性パッケージから登録する必要があった。.NET MAUI Preview 5では、UseMauiApp拡張機能(スタートアップwiki(URL: https://github.com/dotnet/maui/wiki/Application-Startup)を参照)のアップデートによりはるかに簡単になった。そのアップデートでは、ハンドラーまたはレンダラーに基づいているかどうかにかかわらず、すべてのコントロールを接続するものである。
.NET Multi-platform App UIのプリンシパルプログラムマネージャーであるDavid Ortinau氏は次のように述べている。
よく知られているShell
は、URIナビゲーションを提供し、フライアウトメニューとタブをすばやく実装するアプリケーションコンテナであり、Preview 5バージョンの.NET MAUIで利用できるようになった。公式の開発ブログ記事には、App.xaml.cs
内での簡単な使用例が記載されている。
protected override IWindow CreateWindow(IActivationState activationState)
{
return new Microsoft.Maui.Controls.Window(
new AppShell()
);
}
<Shell xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:pages="clr-namespace:ControlGallery.Pages"
Title="ControlGallery"
x:Class="ControlGallery.AppShell">
<FlyoutItem Title="Margin and Padding">
<ShellContent Route="marginpadding"
ContentTemplate="{DataTemplate pages:ControlsPage}" />
</FlyoutItem>
<FlyoutItem Title="ActivityIndicator">
<ShellContent Route="activityindicator"
ContentTemplate="{DataTemplate pages:ActivityIndicatorPage}" />
</FlyoutItem>
...
</Shell>
コントロール、レイアウト、および他の機能に関する最新情報の概要は、.NET MAUIステータスページにある。
.NET MAUIでアニメーションを実行するには、いくつかの方法がある。簡単な方法は、FadeTo、RotateTo、ScaleTo、TranslateToなどの拡張メソッドを使用することである。公式の開発ブログで、David Ortinau氏がHandlerAttached
イベントを使ったサンプルを提供した。サンプルソースコードは、GitHubのWeatherTwentyOneプロジェクトにある。
単一プロジェクトテンプレートの更新に関して、Preview 5では、複数のWinUIプロジェクトを1つに統合するために行われた進捗状況の一部も紹介された。これで、dotnet new maui
コマンドを使用すると、2つのプロジェクト(1つはマルチターゲットの.NET MAUI、もう1つはWinUIプロジェクト)でソリューションが生成される。
次のように述べられている。「これは、サポートされているすべてのプラットフォームにビルドしてデプロイできるプロジェクトを1つだけにするという最終ビジョンに一歩近づいています。これをサポートするには、Visual Studio 16.11 Preview 2用に、これらのProject Reunion 0.8(プレビュー)拡張機能をインストールする必要があります。」
プロジェクト開発の進捗状況と.NET MAUIの次のリリースを追跡するために、公式のロードマップをGitHub wikiロードマップで確認できる。