《.NET MAUI 9 预览版 7:引入 HybridWebView 及其他改进》

《.NET MAUI 9 预览版 7:引入 HybridWebView 及其他改进》

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

.NET 9 Preview 7发布了重要更新,包括引入HybridWebView和弃用MainPage属性。还引入了用于管理iOS上远程通知的新生命周期方法,以及增强了本地嵌入功能等。HybridWebView允许开发人员在WebView中托管HTML、JavaScript和CSS内容,支持托管WebView内容与宿主应用程序代码之间的通信。此外,还引入了TitleBar控件和Window.TitleBar属性,用于自定义应用程序的标题栏。还有其他更新,如BlazorWebView的后向兼容性变化和Native Embedding的改进。详细信息请参阅GitHub上的官方发布说明。

🔎

延伸解读

HybridWebView:混合开发的新选择

HybridWebView 允许在 WebView 中托管 HTML、JavaScript 和 CSS,并支持与宿主应用代码通信。这意味着开发者可以将 React 等前端框架与 .NET MAUI 结合,后端使用 C# 和 .NET,从而复用现有 Web 资产或实现混合开发模式。

MainPage 弃用:迁移需调整

MainPage 属性已标记为过时,开发者应改为直接在 Window 上设置 Page。该属性将在未来版本中移除,但在 .NET 9 中仍可用,以帮助从 Xamarin.Forms 过渡。现有项目需逐步调整代码,避免未来升级时出现问题。

BlazorWebView 地址变更:兼容性注意

BlazorWebView 的默认主机地址已更新为 localhost,在 iOS 和 Mac Catalyst 18 及以上版本中,旧的 0.0.0.0 地址不再工作,可能导致 BlazorWebView 显示为空矩形。如需继续使用 0.0.0.0,可在 MauiProgram.cs 中通过 AppContext.SetSwitch 启用兼容开关。

标题栏自定义与窗口管理增强

新增的 TitleBar 控件和 Window.TitleBar 属性允许为 Windows 应用设计自定义标题栏,目前仅支持 Windows,未来将扩展到 Mac Catalyst。同时,ActivateWindow 方法可将指定窗口带到前台,适用于 Mac Catalyst 和 Windows 平台。

❓

Q&A

.NET 9 Preview 7中引入了哪些新功能?

引入了HybridWebView、TitleBar控件、ActivateWindow方法等新功能。

HybridWebView的主要用途是什么?

HybridWebView允许开发人员在WebView中托管HTML、JavaScript和CSS内容,并支持与宿主应用程序代码之间的通信。

MainPage属性在.NET 9 Preview 7中有什么变化?

MainPage属性已标记为过时,开发人员应直接在Window上设置Page。

TitleBar控件的作用是什么?

TitleBar控件允许开发人员为应用程序设计自定义标题栏,可以放置在应用程序的任何位置。

BlazorWebView的后向兼容性发生了什么变化?

BlazorWebView的默认主机地址已更新为localhost,之前的地址0.0.0.0不再有效。

Native Embedding功能有什么改进?

Native Embedding功能得到改进,允许将.NET MAUI控件集成到其他.NET应用程序中,无需兼容性包。

🏷️

标签

➡️

继续阅读