.NET MAUI Preview 5 发布
.NET MAUI Preview 5 已发布。在此版本中,开发团队启用了动画和视图转换 (view transformation) 功能、完成了多个 UI 组件的移植,并对单个项目模板进行了改进。此外还发布了第一批涵盖 .NET MAUI 介绍和基础方面的预览文档:https://docs.microsoft.com/dotnet/maui/。
动画
目前 .NET MAU 提供了多种方法执行动画,其中最简单的是利用视图扩展方法,例如FadeTo, RotateTo, ScaleTo, TranslateTo等等。在以下示例中,通过使用HandlerAttached新事件获取对绑定到布局的每个视图的引用:
<DataTemplate x:Key="FavouriteTemplate">
<Frame
AttachedHandler="OnAttached"
Opacity="0">
...
</Frame>
</DataTemplate>
<FlexLayout
BindableLayout.ItemTemplate="{StaticResource FavouriteTemplate}"
BindableLayout.ItemsSource="{Binding Favorites}"
>
...
</FlexLayout>
当页面出现时,将视图以轻微交错的方式进行动画处理,以创建美丽的层叠效果。
public partial class FavoritesPage : ContentPage
{
List<Frame> tiles = new List<Frame>();
void OnAttached(object sender, EventArgs e)
{
Frame f = (Frame)sender;
tiles.Add(f);
}
protected override async void OnAppearing()
{
base.OnAppearing();
await Task.Delay(300);
TransitionIn();
}
async void TransitionIn()
{
foreach (var item in tiles)
{
item.FadeTo(1, 800);
await Task.Delay(50);
}
}
}
如需了解更完整的视图动画编排,查看自定义动画文档,该文档演示了添加多个可以并行运行的子动画。
UI 组件
在这个版本中,多个控件的所有属性和事件都被移植到了 Xamarin.Forms 渲染器架构的处理程序中,包括ActivityIndicator, CheckBox, Image和Stepper。在之前的预览版中,开发者需要检查是否移植了控件并从兼容包中为不可用的渲染器注册渲染器。而在 .NET MAUI Preview 5 中,通过更新UseMauiApp扩展(参阅 Startup wiki)来为开发者连接所有控件,无论它们是基于处理程序还是渲染器,从而使这变得更加容易。
Preview 5 的另一项新功能是首次引入Shell,这是一个应用程序容器,提供 URI 导航,以及实现弹出菜单和选项卡的快速方法。
单个项目模板更新
开发团队在此版本中取得了进展:将多个 WinUI 项目合并为一个。现在,当创建一个项目时 (dotnet new maui),开发者将看到两个项目:多目标的 .NET MAUI 项目和 WinUI 项目。
有关 .NET MAUI 入门的其他信息,参阅新的文档网站。

