在微软Build和预览版4发布一个月后,.NET MAUI团队继续推进.NET多平台应用程序用户界面的进展,预览版5已经呈现在我们面前。它带来了动画和视图转换的支持,几个来自Xamarin.Forms,
渲染器架构的移植UI组件和单个项目模板的更新和改进。
此外,作为该版本的一部分,.NET MAUI的介绍性和基础性文件的预览版也可供探索。
在这个版本中,有几个控件的所有属性和事件现在都移植到了Xamarin.Forms的渲染器架构的处理程序中,包括ActivityIndicator、CheckBox、Image和Stepper。在以前的预览中,你需要检查一个控件是否被移植,并从兼容包中为那些不可用的控件注册渲染器。在.NET MAUI预览版5中,我们通过更新UseMauiApp扩展(见Startup wiki 来为你连接所有的控件,无论它们是基于处理程序还是渲染器,都让这一切变得更加容易。
众所周知,Shell
,一个提供URI导航和快速实现飞出式菜单和标签的应用程序容器,现在可以在.NET MAUI中使用预览5版本。官方的开发博客文章提供了一个简单的例子,说明在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项目合并为一个的进展。现在,使用dotnet new maui
命令将产生两个项目的解决方案,一个多目标的.NET MAUI和WinUI项目。
正如所说。"这离最终的愿景又近了一步,即只有一个项目可以构建和部署到所有支持的平台。为了支持这一点,你需要为Visual Studio 16.11 Preview 2安装这些Project Reunion0.8(Preview)扩展。"
要关注项目的开发进度和.NET MAUI的下一个版本,官方路线图可在GitHub的wiki路线图上找到。