作者:David Ortinau
排版:Alan Wang
.NET MAUI 现已在 .NET 8 Preview 7 中推出,它引入了键盘加速键以及更多的修复和改进。这是我们发布 .NET 8 候选版本和正式发布(GA)版本之前的最后一个预览版本。随着发布日期的公布,我们将像往常一样在 .NET Conf 上庆祝该版本的发布。 请在2023 年 11 月 14 日至 16 日期间与我们一起庆祝 .NET 8 发布!
版本 7.0.92 是 .NET 7 的最新服务版本。在此期间,我们重点关注 .NET 8,使其成为最佳版本。从 RC1 的下一个版本开始,您将获得上线支持许可证。我们鼓励每个人从现在开始考虑使用 .NET 8 版本。
这个版本是由 25 位贡献者(包括 bot)共同完成的。让我们向他们所有人,特别是首次贡献者 Lehonti Ramos、webwarrior-ws、molesmoke 和 Aaron Galuzzi,致敬,做得好!我们感谢每个人的贡献。如果您有兴趣提供帮助,请参阅我们的贡献指南。
桌面键盘加速键
键盘加速键使您能够将键盘快捷键分配给任何菜单项(无论是否可见),并将它们附加到任何 UI 元素。例如,此页面有一个菜单窗口,您可以使用 MenuItem.Accelerator
附加属性向其中的菜单项添加加速键:
<ContentPage.MenuBarItems>
<MenuBarItem Text="File">
<MenuFlyoutItem Text="Preferences"
Command="{Binding PreferencesCommand}"
/>
</MenuBarItem>
<MenuBarItem Text="Products">
<MenuFlyoutItem
x:Name="AddProductMenu"
MenuItem.Accelerator="ctrl+a"
Text="Add Product"
Command="{Binding AddProductCommand}"
/>
<MenuBarItem Text="Add Product Category"/>
</MenuBarItem>
</ContentPage.MenuBarItems>
如果您想要在 C# 代码中添加加速键而不是在 XAML 实现加速键,则可以使用如下代码:
MenuItem.SetAccelerator(AddProductMenu, Accelerator.FromString("ctrl+a"));
现在,当这些按键被按下时,AddProductCommand
就会触发,就像用户点击或单击菜单项一样。有关支持的修饰符按键列表,请参阅 Accelerator.FromString 方法。
.NET MAUI 中修复和改进的内容
该版本的主要重点是 bug 修复和质量改进。有关完整的更改,请查看 8.0.0-preview.7.8842 发行说明。以下是要点:
- 内存泄漏解决方案:
- 各种 UI 控件(包括不同平台(例如 iOS、Android 和 Windows)上的 Border、Editor 和 Entry)中的多个内存泄漏问题得到了解决。 这些修复可确保改进内存管理和应用程序稳定性。#15946, #15614, #16045, #16101, #16348, #16349
- 增强的 UI 控制功能:
- Border、WebView 和 Entry 等 UI 控件已针对不同平台(iOS、Android、Windows)上的行为、性能和自定义选项进行了更新。这些增强功能有助于提供更加用户友好且功能丰富的体验。 #14740, #15881, #15585, #14846, #16215, #15458, #16270
- 特定于平台的改进:
- 每个主要平台(iOS、Android、Windows)从内存泄漏修复到性能增强都进行了针对性的改进,确保应用程序在不同环境下平稳高效地运行。#15734, #16145, #16032
- Bug 修复和改进:
- 从外观问题(Shell TabBar)到功能(ListView 中的 SelectedItemChanged)等多个 bug,已在不同平台上得到解决。 这些修复有助于打造更加完美且无 bug 的应用程序。#16128, #16241, #16275, #14663, #16057, #16116, #16174, #16248, #15099, #15459
- 输入和交互增强:
- 对用户输入和交互功能进行了改进,例如文本框中的光标保留、菜单键加速器和 InputTransparent 行为排列。这些更新增强了用户参与度和应用程序可用性。#15799, #15835
附加发行说明:
• 适用于 Android 的 .NET
• 适用于 iOS 和 Mac 的 .NET
如何更新
现在,Windows 上的 Visual Studio 2022 已经包含 .NET 8 预览和 .NET MAUI 预览版工作负载。请下载最新的预览版本(17.8 Preview 1),选择 .NET Multi-platform App UI 工作负载,然后选中可选组件“.NET MAUI(.NET 8 Preview)” 。
当您同时安装 .NET 8 Preview 6 和 7 时,在 Mac 上为 Apple 平台构建程序会有一个已知问题。请查看已知问题以了解详细信息和解决步骤。
如果您想要在 macOS 上使用 Visual Studio for Mac 进行开发,您可以在“Preferences”中启用 .NET 8 预览功能并从安装程序安装 .NET 8 Preview 7。
下载 .NET 8 Preview 7 安装程序,然后从命令行安装 .NET MAUI:
dotnet workload install maui
下一步计划?
我们准备在下一个 .NET 8 版本中为新版本的 iOS、iPadOS、macOS、Mac Catalyst、tvOS 和 CarPlay 引入 Xcode 15 支持。我们预计 .NET 8 于 11 月发布时将使用稳定版本的 Xcode 15。
开发人员提示:我建议通过从 Apple 开发者门户明确下载和选择版本来管理 Xcode 版本,而不是依赖 App Store,因为 App Store 可能会自动更新并破坏兼容性。 当维护 Xcode 的并行版本时,您可能需要使用 Xcodes.app 之类的东西。
欢迎反馈
我们感谢您对 .NET MAUI 的反馈和贡献。您可以在 GitHub 存储库上报告问题、建议功能或提交请求。您还可以加入我们的 Discord 服务器。
感谢您的支持,祝您编码愉快!