mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Apply Avalonia 12 migration changes: replace SystemDecorations with WindowDecorations and remove ExtendClientAreaChromeHints/ExtendClientAreaTitleBarHeightHint usages; update BindingPlugins removal logic (no-op); switch clipboard usage to ClipboardExtensions.SetTextAsync; update Bitmap.CopyPixels calls to the new signature. Replace TextBox.Watermark with PlaceholderText, convert NumberBox styles to FANumberBox and adjust templates, change Checked/Unchecked handlers to IsCheckedChanged, and adapt FluentIcons usages (SymbolIconSource -> FASymbol/FAFont/FluentIcon equivalents). Fix MainWindow partial classes to inherit Window and correct missing variables/fields/usings. Add migration docs/specs/tasks under .trae and include a small TestFluentIcons project for icon testing.
2.0 KiB
2.0 KiB
Tasks
-
Task 1: 修复窗口装饰 API(Phase 1)
- SubTask 1.1: 重写
SettingsWindow.ApplyChromeMode()移除ExtendClientAreaChromeHints - SubTask 1.2: 重写
ComponentEditorWindow.ApplyChromeMode()移除ExtendClientAreaChromeHints - SubTask 1.3: 批量替换所有
.axaml中的SystemDecorations→WindowDecorations - SubTask 1.4: 验证构建错误减少
- SubTask 1.1: 重写
-
Task 2: 修复 MainWindow 编译错误(Phase 2)
- SubTask 2.1: 修复
MainWindow.ComponentSystem.cs中centerLeft和positions未定义错误 - SubTask 2.2: 修复
MainWindow.DesktopPaging.cs中child和_isThreeFingerOrRightDragSwipeActive未定义错误 - SubTask 2.3: 验证构建错误减少
- SubTask 2.1: 修复
-
Task 3: 修复 Avalonia 12 API 变更(Phase 3)
- SubTask 3.1: 移除
App.axaml.cs中BindingPlugins.DataValidators代码 - SubTask 3.2: 替换
DesktopComponentFailureView.cs中IClipboard.SetTextAsync为ClipboardExtensions.SetTextAsync - SubTask 3.3: 更新
MonetColorService.cs中Bitmap.CopyPixels调用签名 - SubTask 3.4: 验证构建错误减少
- SubTask 3.1: 移除
-
Task 4: 修复第三方库变更(Phase 4)
- SubTask 4.1: 替换
SettingsWindow.axaml.cs中FluentIcons.Avalonia.SymbolIconSource为FluentIcon - SubTask 4.2: 验证构建错误减少
- SubTask 4.1: 替换
-
Task 5: 清理过时属性(Phase 5)
- SubTask 5.1: 批量替换
.cs文件中Watermark→PlaceholderText - SubTask 5.2: 批量替换
.axaml文件中Watermark→PlaceholderText - SubTask 5.3: 验证无过时警告
- SubTask 5.1: 批量替换
-
Task 6: 最终验证
- SubTask 6.1:
dotnet build LanMountainDesktop.slnx -c Debug0 errors - SubTask 6.2:
dotnet test LanMountainDesktop.slnx -c Debug通过
- SubTask 6.1:
Task Dependencies
- Task 2 不依赖 Task 1(可并行)
- Task 3 不依赖 Task 1/2(可并行)
- Task 4 不依赖 Task 1/2/3(可并行)
- Task 5 依赖 Task 1/2/3/4(低优先级,最后执行)
- Task 6 依赖所有前置任务