Net 8 的发布,对MAUI是一个新的开始,以前关注WPF 较多,是需要进一步学习的时候。包括Unity 其实也是要学习一下的。
新功能
虽然此版本的 .NET MAUI 的重点是质量,但也有一些新功能可在应用中实现新的应用场景。
控件
- 支持文本输入增益扩展方法的控件,这些方法支持隐藏和显示软输入键盘。 有关详细信息,请参阅隐藏和显示软输入键盘。
- ContentPage 类获得一个 HideSoftInputOnTapped 属性,该属性可指示点击页面上的任意位置是否会导致软输入键盘隐藏(如果可见)。 有关详细信息,请参阅 ContentPage。
- BlazorWebView 获得一个 StartPath 属性、一个 TryDispatchAsync 方法和增强的日志记录功能。 有关详细信息,请参阅使用 BlazorWebView 在 .NET MAUI 应用中托管 Blazor Web 应用。
- WebView 获得一个 UserAgent 属性。 有关详细信息,请参阅 WebView。
- 默认情况下,IOS 上的 WebView 会启用 HTML5 视频的内联媒体播放,包括自动播放和画中画。 有关详细信息,请参阅在 iOS 和 Mac Catalyst 上设置媒体播放首选项。
- 可接受 5 个参数的
Grid.Add
重载已重新添加回 .NET MAUI。 但是,此方法已弃用,仅用于帮助从 Xamarin.Forms 迁移。 - Grid 获取一个 AddWithSpan 扩展方法,该方法可使用指定的行和列跨度在 Grid 指定行和列上添加视图。
桌面
- 可通过键盘快捷方式(称为键盘快捷键)调用菜单栏项和上下文菜单项。 有关详细信息,请参阅键盘快捷键。
- Windows 应用可作为未打包的应用发布。 有关详细信息,请参阅使用 CLI 发布适用于 Windows 的未打包 .NET MAUI 应用。
手势识别器
- PointerGestureRecognizer 获得 PointerPressedCommand、PointerPressedCommandParameter、PointerReleasedCommand、PointerReleasedCommandParameter 属性,以及 PointerPressed 和 PointerReleased 事件。 有关详细信息,请参阅识别指针手势。
- 随附 PointerGestureRecognizer 类引发的指针事件的 PointerEventArgs 对象获得一个类型为 PlatformPointerEventArgs 的 PlatformArgs 属性。 此属性可提供对指针手势事件的平台特定参数的访问权限。 有关详细信息,请参阅识别指针手势。
- 随附拖放手势事件的 DragStartingEventArgs、DragEventArgs、DropEventArgs 和 DropCompletedEventArgs 对象各获得一个
PlatformArgs
属性。 此属性可提供对拖放事件的平台特定参数的访问权限。 有关详细信息,请参阅识别拖放手势。 - 可以通过对 DragEventArgs、DragStartingEventArgs 或 DropEventArgs 对象调用 GetPosition 方法来获取拖放手势发生的位置。 有关详细信息,请参阅识别拖放手势。
- TapGestureRecognizer 类获得了在 Android 上处理二次点击的能力。 有关详细信息,请参阅识别点击手势。
导航
- Shell 导航获得 GoToAsync 重载,支持将导航发生后被清除的一次性导航数据作为 ShellNavigationQueryParameters 对象传递。 有关详细信息,请参阅传递一次性基于对象的导航数据。
平台集成
- 当应用位于前台时,Geolocation 类可以侦听位置更改。 有关详细信息,请参阅侦听位置更改。
- Flashlight 获得 IsSupportedAsync 方法,用于确定设备上是否有手电筒。 有关详细信息,请参阅手电筒。
- 所有平台已统一 SensorSpeed 间隔。 有关详细信息,请参阅访问设备传感器。
- Permissions 类获得 Permissions.Bluetooth 权限,这是用于查找蓝牙设备的 Android 12 权限,使当前设备可供其他蓝牙设备发现,并与已配对的蓝牙设备通信。 有关详细信息,请参阅 权限。
- Permissions 类获得 Permissions.NearbyWifiDevices 权限,这是用于访问附近 WiFi 设备的 Android 13 权限。 有关详细信息,请参阅 权限。
XAML
- 可以在 XAML 类上指定
x:ClassModifier
特性,以控制程序集中生成的类的访问级别。 有关详细信息,请参阅类修饰符。 - ResourceDictionary 中定义的资源也可以在通过 DynamicResource 标记扩展在 AppThemeBinding 中使用。 有关详细信息,请参阅定义和使用主题资源。
- Color 是 SolidColorBrush 类的 ContentProperty,因此无需通过 XAML 显式设置。
故障排除
- 为了进行故障排除,可以禁用资源生成。 有关更多信息,请参阅禁用图像打包、禁用初始屏幕打包、禁用字体打包和禁用资产文件打包。
- 为了进行故障排除,可以生成空白的初始屏幕。 有关详细信息,请参阅生成空白初始屏幕。
- Resizeter 检查重复图像文件名。 有关详细信息,请参阅重复图像文件名错误。
杂项
- 窗口管理可以与
App
类分离。 有关详细信息,请参阅从应用类分离窗口管理。 - 可以在 Android 应用中轻松使用多种系统字体。 有关详细信息,请参阅使用字体。
- 在 iOS 上,
MauiUIApplicationDelegate
获取可以通过iOSLifecycle.PerformFetch
委托重写或使用的PerformFetch
方法。 有关详细信息,请参阅 iOS 平台生命周期事件。