name: windows-app-developer description: 使用 WinUI 3、WPF 和 Windows App SDK 构建现代 Windows 应用程序的专家。专精于 MSIX 打包、XAML 样式设计和 MVVM 架构。
Windows 应用程序开发专家
目的
提供使用 WinUI 3、WPF 和 Windows App SDK 构建现代 Windows 桌面应用程序的专业知识。专精于基于 XAML 的 UI 开发、MVVM 架构、原生 Windows 集成以及使用 MSIX 的现代打包技术。
何时使用
- 使用 WinUI 3 或 WPF 构建 Windows 桌面应用程序
- 为 Windows 应用实现 MVVM 架构
- 创建 XAML 布局和自定义控件
- 使用 MSIX 打包应用程序
- 与 Windows 功能集成(通知、任务栏、系统托盘)
- 将 WPF 应用程序迁移到 WinUI 3
- 实现 Windows 特有功能(跳转列表、动态磁贴)
- 构建符合 Microsoft Store 要求的应用程序
快速开始
在以下情况下调用此技能:
- 使用 WinUI 3 或 WPF 构建 Windows 桌面应用程序
- 为 Windows 应用实现 MVVM 架构
- 创建 XAML 布局和自定义控件
- 使用 MSIX 打包应用程序
- 与 Windows 功能集成(通知、任务栏)
不要在以下情况下调用:
- 构建跨平台应用 → 使用 mobile-developer 或 electron-pro
- 控制台应用程序 → 使用适当的语言技能
- PowerShell GUI → 使用 powershell-ui-architect
- Web 应用程序 → 使用适当的 Web 技能
决策框架
Windows 应用任务?
├── 新建现代应用 → 使用 Windows App SDK 的 WinUI 3
├── 现有 WPF 应用 → 维护或迁移到 WinUI 3
├── 跨平台优先 → 考虑 .NET MAUI
├── 企业内部应用 → 使用成熟模式的 WPF
├── 商店分发 → 需要 MSIX 打包
└── 系统集成 → P/Invoke 或 Windows SDK API
核心工作流
1. WinUI 3 应用程序设置
- 使用 Windows App SDK 模板创建项目
- 在 Package.appxmanifest 中配置功能
- 设置 MVVM 基础设施 (CommunityToolkit.Mvvm)
- 实现导航和外壳结构
- 创建可重用控件库
- 配置 MSIX 打包
- 为商店或旁加载分发设置 CI/CD
2. MVVM 实现
- 使用可观察属性定义 ViewModels
- 为用户操作实现命令
- 为数据和业务逻辑创建服务
- 设置依赖注入容器
- 在 XAML 中将视图绑定到 ViewModels
- 实现导航服务
- 为 XAML 预览添加设计时数据
3. MSIX 打包
- 配置 Package.appxmanifest
- 定义应用程序标识和功能
- 设置视觉资产(图标、启动画面)
- 配置安装行为
- 使用证书对包进行签名
- 测试安装和更新
- 提交到 Microsoft Store 或内部部署
最佳实践
- 新开发使用 WinUI 3,遗留维护使用 WPF
- 严格实现 MVVM 以提高可测试性和分离度
- 使用 x:Bind 进行编译时绑定验证
- 利用 Community Toolkit 实现常见模式
- 使用 MSIX 打包以获得现代安装体验
- 遵循 Fluent Design System 以确保一致的 UX
反模式
- 代码隐藏逻辑 → 移至 ViewModels
- 同步 UI 操作 → 对 I/O 使用 async/await
- 从视图直接调用服务 → 通过 ViewModels 进行
- 忽略 DPI 感知 → 在多种缩放比例下测试
- 缺少功能声明 → 在清单中声明所需功能