Files
LanMountainDesktop/.trae/specs/avalonia-12-migration/tasks.md
lincube 9fb41378eb Migrate codebase to Avalonia 12 APIs
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.
2026-04-29 08:50:28 +08:00

40 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks
- [ ] Task 1: 修复窗口装饰 APIPhase 1
- [x] SubTask 1.1: 重写 `SettingsWindow.ApplyChromeMode()` 移除 `ExtendClientAreaChromeHints`
- [x] SubTask 1.2: 重写 `ComponentEditorWindow.ApplyChromeMode()` 移除 `ExtendClientAreaChromeHints`
- [x] SubTask 1.3: 批量替换所有 `.axaml` 中的 `SystemDecorations``WindowDecorations`
- [ ] SubTask 1.4: 验证构建错误减少
- [ ] Task 2: 修复 MainWindow 编译错误Phase 2
- [ ] SubTask 2.1: 修复 `MainWindow.ComponentSystem.cs``centerLeft``positions` 未定义错误
- [ ] SubTask 2.2: 修复 `MainWindow.DesktopPaging.cs``child``_isThreeFingerOrRightDragSwipeActive` 未定义错误
- [ ] SubTask 2.3: 验证构建错误减少
- [ ] 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: 验证构建错误减少
- [ ] Task 4: 修复第三方库变更Phase 4
- [ ] SubTask 4.1: 替换 `SettingsWindow.axaml.cs``FluentIcons.Avalonia.SymbolIconSource``FluentIcon`
- [ ] SubTask 4.2: 验证构建错误减少
- [ ] Task 5: 清理过时属性Phase 5
- [ ] SubTask 5.1: 批量替换 `.cs` 文件中 `Watermark``PlaceholderText`
- [ ] SubTask 5.2: 批量替换 `.axaml` 文件中 `Watermark``PlaceholderText`
- [ ] SubTask 5.3: 验证无过时警告
- [ ] Task 6: 最终验证
- [ ] SubTask 6.1: `dotnet build LanMountainDesktop.slnx -c Debug` 0 errors
- [ ] SubTask 6.2: `dotnet test LanMountainDesktop.slnx -c Debug` 通过
# 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 依赖所有前置任务