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

2.0 KiB
Raw Blame History

Tasks

  • Task 1: 修复窗口装饰 APIPhase 1

    • SubTask 1.1: 重写 SettingsWindow.ApplyChromeMode() 移除 ExtendClientAreaChromeHints
    • SubTask 1.2: 重写 ComponentEditorWindow.ApplyChromeMode() 移除 ExtendClientAreaChromeHints
    • SubTask 1.3: 批量替换所有 .axaml 中的 SystemDecorationsWindowDecorations
    • SubTask 1.4: 验证构建错误减少
  • Task 2: 修复 MainWindow 编译错误Phase 2

    • SubTask 2.1: 修复 MainWindow.ComponentSystem.cscenterLeftpositions 未定义错误
    • SubTask 2.2: 修复 MainWindow.DesktopPaging.cschild_isThreeFingerOrRightDragSwipeActive 未定义错误
    • SubTask 2.3: 验证构建错误减少
  • Task 3: 修复 Avalonia 12 API 变更Phase 3

    • SubTask 3.1: 移除 App.axaml.csBindingPlugins.DataValidators 代码
    • SubTask 3.2: 替换 DesktopComponentFailureView.csIClipboard.SetTextAsyncClipboardExtensions.SetTextAsync
    • SubTask 3.3: 更新 MonetColorService.csBitmap.CopyPixels 调用签名
    • SubTask 3.4: 验证构建错误减少
  • Task 4: 修复第三方库变更Phase 4

    • SubTask 4.1: 替换 SettingsWindow.axaml.csFluentIcons.Avalonia.SymbolIconSourceFluentIcon
    • SubTask 4.2: 验证构建错误减少
  • Task 5: 清理过时属性Phase 5

    • SubTask 5.1: 批量替换 .cs 文件中 WatermarkPlaceholderText
    • SubTask 5.2: 批量替换 .axaml 文件中 WatermarkPlaceholderText
    • 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 依赖所有前置任务