MAUI for Windows 基于 WinUI 3 运行时,需 VS 2022 17.4+、.NET SDK 6.0+/8.0+、Windows SDK 及 maui-windows 工作负载;默认生成桌面 EXE,支持条件编译调用原生 WinUI API,可选 MSIX 打包。

MAUI(.NET Multi-platform App UI)支持 Windows 平台开发,底层默认使用 WinUI 3(Windows App SDK),但要注意:MAUI 的 Windows 支持不是传统 WinUI 3 项目,而是通过 MAUI 的抽象层封装 WinUI 3 运行时,因此开发方式和纯 WinUI 3 项目不同——你不需要手动配置 WinUI 3 工程结构,也不用写 C++/WinRT 或 XAML Islands。
MAUI for Windows 要求 Visual Studio 2022(17.4 或更高版本),且必须安装以下工作负载:
命令行验证:dotnet --list-sdks 应包含 6.0.300+ 或 8.0.x;dotnet workload list 中应有 maui 和 maui-windows(若缺失,运行 dotnet workload install maui-windows)。
新建项目时选择 “.NET MAUI App”,创建后默认已启用所有平台。要只针对 Windows 构建,可:
net8.0-windows10.0.22621.0(或对应 SDK 版本)注意:首次运行可能较慢,因需部署 WinUI 3 运行时依赖;若报错“找不到 Microsoft.WindowsAppSDK.Runtime”,请检查是否安装了 Windows App SDK Runtime(可从 官方页面 单独下载安装)。
MAUI 允许在 Windows 平台上桥接到 WinUI 3 原生控件和功能,例如使用 Microsoft.UI.Xaml.Controls 中的 NavigationView 或调用 AppWindow 控制窗口行为。
MainPage.xaml.cs 或页面后台代码中,用 #if WINDOWS 条件编译包裹原生调用MauiWinUIApplication.Current.Window.Content.As<frameworkelement>()</frameworkelement> 获取根元素,再用 FindName 或 VisualTreeHelper 查找 WinUI 元素App.xaml.cs 的 OnLaunched 中):
if (Microsoft.UI.Xaml.Window.Current != null)
{
var titleBar = Microsoft.UI.Xaml.Window.Current.AppWindow.TitleBar;
titleBar.ButtonBackgroundColor = Colors.Transparent;
}MAUI 默认生成独立的桌面 EXE(含运行时),适合内部部署或简单分发。如需上架 Microsoft Store 或启用后台任务等高级能力,则需切换为 MSIX 打包:
<windowspackagetype>Msix</windowspackagetype>
Windows App SDK Packaged app 模板(需 VS 17.5+ 及 Windows App SDK 1.4+).msixbundle,可用 MakeAppx 或 Visual Studio 发布向导生成注意:MSIX 模式下部分 API(如文件系统访问)需声明对应能力(Capabilities)并在 Package.appxmanifest 中配置。
基本上就这些。MAUI 的 Windows 开发本质是“WinUI 3 驱动的跨平台 UI 层”,不复杂但容易忽略运行时依赖和条件编译细节。动手前先跑通空白模板,再逐步接入原生能力,是最稳妥的路径。
以上就是MAUI怎么进行Windows平台开发 MAUI WinUI3开发教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号