SuperAPI AI 工具集

dotnet-wpf-modern

通用与其它

查看项目

更新于 10-16 07:23

技能介绍

用途:指导在 .NET 8+(net8.0-windows)上构建现代 WPF 桌面应用,明确区别于 .NET Framework WPF 的旧模式。

主要能力:SDK 风格项目与 PackageReference;通用主机(Host.CreateDefaultBuilder)实现依赖注入、配置与日志;用 CommunityToolkit.Mvvm 源生成器实现 MVVM([ObservableProperty]、[RelayCommand]、[NotifyCanExecuteChangedFor] 等);.NET 9+ 的 Fluent 主题与 ThemeMode(None/Light/Dark/System)、系统明暗主题检测;DirectX 11 渲染、ReadyToRun、分层编译、部分裁剪等性能改进;records、主构造函数、模式匹配、集合表达式等现代 C# 特性。

使用方式:在 csproj 中设 TargetFramework 为 net8.0-windows、UseWPF 为 true,并引用 CommunityToolkit.Mvvm 与 Microsoft.Extensions.Hosting;在 App.xaml.cs 构建并启停主机(OnStartup 调 _host.StartAsync(),OnExit 调 _host.StopAsync() 后 Dispose);ViewModel 继承 ObservableObject,绑定 SearchCommand 等生成成员。

限制与注意:需 .NET 8+,Fluent 主题仅 .NET 9+;裁剪须用 TrimMode=partial,不可用 full;不要从 async 代码调用 Dispatcher.Invoke;不要混用 {Binding} 与手写 INotifyPropertyChanged;不要使用 .NET Framework 旧模式(App.config、packages.config、ServiceLocator、AssemblyInfo.cs)。迁移、桌面测试、AOT、框架选择等不在范围内,分别参见对应技能。Fluent 主题的具体效果细节资料结束处不完整,暂未提供。