CodeWF.Avalonia
dotnet9
概览 更新日志 GitHub · 源码与 Issue ↗

更新日志

CodeWF.Avalonia · Avalonia 12 控件与能力全家桶

来源仓库文件 UpdateLog.md

12.1.4.29 12.1.4.29 (2026-10-17)
  • 新增 MarkdownTableLayout.FillAvailableWidth 附加属性,阅读和即时编辑表格可按内容比例铺满正文,窄窗继续换行;默认保持原有紧凑列宽。
  • 即时编辑表格提供与阅读表格一致的 MdTable、MdTableContainer、表头、正文和 MdTableAlternateCell 样式类,宿主可统一细边框与隔行底色,保留单元格编辑及增删行列。
  • 表格轮廓和分隔线支持宿主样式覆盖,补充宽窄窗口反复缩放的列宽回归。
12.1.4.28 12.1.4.28 (2026-10-17)
  • Markdown 即时编辑支持原位光标、跨块选区与替换,保留行内格式、软换行和共享撤销;长文档按视口创建内容。
  • 修复大纲跳转命中离屏旧坐标的问题,目标完成布局后校正滚动,超高表格从顶部显示;阅读锚点支持缩放和全文恢复。
  • 新增 HTML 表格原生渲染,保留源文;修复脚注与链接定义解析、Mermaid 虚拟化重复挂载和缓存回收。
  • 长代码采用文本样式区间,大导图按视口创建节点,并支持章节编辑与拖动事件。
  • 修复虚拟容器估高锚点及滚动条无限布局循环;窗体标题栏图标支持独立设置大小。
  • 补齐编辑、定位、HTML 表格、渲染生命周期和虚拟化回归。
12.1.4.27 12.1.4.27 (2026-10-16)
  • Markdown 即时编辑仅在活动块显示源码,移除同一块的重复渲染;代码块将半透明背景与祖先实际背景合成后判断主题,修复浅色主题中的白字,并简化工具栏与排版。
  • 修复 Windows 安装向导动态装饰与进度刷新时的闪烁,保留跟随系统、浅色、深色与减少动态效果选项。
  • 安装器统一展示 CodeWF 品牌与官方网站入口,安装、修复和卸载继续使用原生流程。
  • 主产品单文件离线原型同步本版本;各仓库独立保留安装器设计原型。
12.1.4.26 12.1.4.26 (2026-10-16)
  • Windows Demo 安装器应用已确认的 .NET 紫异形设计,保留原生许可、目录、任务和真实进度,支持三态外观与减少动态效果。
  • 新增精确匹配已有安装的修复/卸载入口,保留原生安装与卸载引擎;macOS 镜像和 Linux 包补齐品牌资源及独立打包检查。
  • 通知日志测试固定并恢复语言环境,避免 CI 默认语言导致断言不一致。
12.1.4.25 12.1.4.25 (2026-10-16)
  • 校准八套配色的深浅状态,区分强调文字、实心操作面及成功/警告/错误语义色;修复徽标、状态卡片、引导和代码行号的低对比度。
  • DataGrid、TreeDataGrid、Dock 浮动窗和属性编辑弹层动态跟随当前配色;停靠固定/关闭图标改为可着色矢量。
  • 桌面日志通知补齐深浅色、嵌入式双语资源与 T4 键,在同一窗口响应全局切语及宿主覆盖;默认通知资源不再遮蔽应用品牌主题。
  • Markdown 与脑图尊重窗口资源及自定义深色变体;实时编辑器按需创建编辑预览,正文与图片基址一次更新,避免全文重复重建。
  • Demo 修正 Ribbon、命令搜索、通知文字和工作流状态配色;单文件原型直接从原生令牌生成色板,增加真实状态及合成色对比回归。
  • Demo 增加可选独立数据目录,真实窗口回归在初始化前隔离布局,避免读取用户存档。
  • 新增统一 .NET 紫安装器交互原型,供独立验收;尚未应用于产品安装器。
12.1.4.24 12.1.4.24 (2026-10-16)
  • 属性面板在搜索和字母排序时统一遵守动态可见性,隐藏分组及其后代不会重新出现,也不会留下仅因隐藏项匹配的空祖先。
  • Markdown 只读表格外框按真实列宽收紧,短表格右侧不再显示额外空白,同时保留窄窗口换行。
  • Demo 标题栏从唯一全局语言实例反向同步现有选项、文档属性和状态,修复外部切语后无法重新选择原语言的问题。
  • Markdown 阅读器、图片预览、脑图和属性面板将后台语言通知调度到 UI 线程,避免跨线程刷新异常;脑图同步响应宿主资源热覆盖。
  • 补齐真实控件的双向切语、后台通知、隐藏分支和动态刷新回归;属性面板 API 注释统一为简体中文并修正 XML 格式。
12.1.4.23 12.1.4.23 (2026-10-16)
  • 属性面板的文本、路径、数值、复选框、百分比、日期、颜色和只读值响应业务侧更新,不再依赖重建行。
  • 统一处理编辑校验拒绝后的显示回退;外部模型更新不会重复触发业务提交。
  • 属性编辑器改用弱订阅,并在数据复用和离开可视树时解除旧订阅,避免摘要保留已销毁的显示对象。
  • Demo 的 Semi/Ursa 内建菜单同步全局语言,保留应用资源的同键覆盖;增加真实菜单和原生属性编辑器回归。
  • 安装器门禁按完整产品名称、版本及架构匹配,拒绝其他产品和相似版本文件。
12.1.4.22 12.1.4.22 (2026-10-15)
  • 修复 CodeWFWindow 自绘最小化按钮忽略 CanMinimize 的问题;运行时切换能力立即更新按钮,禁用时点击不会改变窗口状态。
  • 增加真实窗口模板的能力切换与按钮点击回归,覆盖关于窗口等禁止最小化的场景。
  • 即时编辑表格复用只读渲染器的按内容列宽布局,避免短名称列和长描述列被等分;编辑动作与表格菜单使用内嵌四语 JSON 和 T4 强类型资源,已有菜单支持全局动态切语与宿主同键热覆盖。
  • 原型 32 页的属性类型、顺序与实际效果按原生 BuildProperties 校准,输入、数值、只读项和综合示例状态加入自动审计。
  • Demo 固定传递 XAML Loader 为 Avalonia 12.1.4,避免旧解析器缺失类型;新增无需桌面的正式原生程序资源与目录自检。
  • 文档区使用独立的不可折叠比例容器,修复分屏后拖出文档使导航区被重新归一化变宽的问题;默认和用户调整后的导航份额均保持。
  • 即时表格外框随实际列宽收紧,消除右侧看似空白列的延展;状态徽标默认文案随语言刷新,并保留用户编辑的内容、状态和图标宽度。
12.1.4.21 12.1.4.21 (2026-10-15)
  • 标题栏去掉重复配色下拉,改用 Ursa 三态模式按钮与可扩展语言图标下拉;原型和真实交互验证同步更新,内部模式提示随语言实时变化。
  • Demo 使用 Dock 官方内容回收模板,修复文档分屏和浮动时重复视觉父级的问题,内容与属性面板始终同行。
  • 新增真实外壳分屏、浮动和重新停靠回归,并保留全部目录、语言、主题与实际 API 检查。
  • 补齐 Linux 桌面图标、按实际安装内容计算体积并剔除调试符号,增加双架构安装结构门禁。
  • 单文件原型规范 SVG 文本换行,保证跨平台生成完全一致。
12.1.4.20 12.1.4.20 (2026-10-15)
  • Studio 主题补齐 Semi 的 82 项控件资源别名,修复滑块、复选框、下拉与输入焦点保留默认蓝色的问题;维持开源 Semi + Dock Simple 方案。
  • 小幅校正水生、沙漠、黄昏和夜空浅色令牌,确保强调文字与次级文字达到常规文字对比度。
  • Demo 与属性面板原型改为自包含单 HTML,内嵌全部运行资源;离线审计复制到空目录执行导航、双语、配色、搜索与排序。
  • 发布只提供五平台 EXE / DEB / DMG 安装包和 SHA-256,禁止便携压缩包;修复 macOS 打包错误传播与宿主语言资源定位。
12.1.4.19 12.1.4.19 (2026-10-15)
  • 国际化统一使用 CodeWF.Toolkit.Lang.I18nManager 唯一实例,宿主与库同步切换语言,无需事件桥接。
  • 修复业务输出 JSON 被库内嵌同键覆盖的问题;追加资源和重新加载时,业务资源始终优先。库按内层到外层合并。
  • 删除 Avalonia 侧管理器、插件和语言元数据兼容类型;XAML 绑定直接使用 Toolkit 核心,运行时包需整体升级。
  • 属性面板改为独立内嵌资源查询,修复默认语言回退,使用 T4 生成强类型键,并响应动态资源刷新。
12.1.4.18 12.1.4.18 (2026-10-15)
  • DockSemiTheme 复用 Semi 官方 Button/Window 资源,移除覆盖全局的备用模板,恢复完整按钮悬停、选中和焦点反馈;继续采用开源 Dock Simple。
  • 窗口按钮高度跟随 TitleBarHeight,新增 CaptionButtonWidth;窗口示例的参数移入 ViewModel,修复内容扩展参数未生效。
  • LogView 菜单改为库内嵌 JSON 和 T4 强类型键,支持运行时语言切换、英文回退及宿主同键覆盖。
  • Ribbon 按固定原型重排左右快捷区,修正命令图标色、中文字体回退和目录卡片;文档属性面板不再被标题或源码区挤压。
  • 精简日志、PropertyGrid 和 Markdown Lite 页面重复说明,给日志区保留窄窗口最小高度。
12.1.4.16 12.1.4.16 (2026-10-15)
  • 文档内属性面板按原型设置 31 像素默认行高和 118 像素名称列宽。
  • 修复 CodeWFTitleBar 演示中自定义左侧内容遮蔽标题的问题;浮动文档冒烟检查属性修改后的实际标题显示。
  • 精简标题栏、斜线、树表增强与通知页面的重复输入区,参数由文档内属性面板维护,树表操作提示按需显示。
  • 斜线演示颜色跟随宿主主题色,不再固定为紫色。
  • 验证:Windows x64 NativeAOT 脚本发布、原生截图及冒烟均退出 0;32 页 × 16 配色共 512 次渲染零失败,浮动标题显示和 Markdown 动态语言切换通过;README 的 PNG/GIF 已同步,原型文件未修改。
12.1.4.15 12.1.4.15 (2026-10-15)
  • 新增 CodeWF.Avalonia.MindView:脑图编辑、缩略图、格式编解码和配套主题合并发布,移除旧 UI 框架依赖。
  • 新增只读 Markdown 结构图:AST 层级、默认 30 字摘要、全文与源码定位、折叠、平移缩放和视口恢复。
  • 实时 Markdown 编辑支持输入预览、Esc 块回滚、跨块撤销重做与临时文档状态恢复;阅读宿主可禁用任务勾选。
  • 增加主题组合、资源内嵌、源文本不变及编辑历史回归。
12.1.4.14 12.1.4.14 (2026-10-14)
  • 校准 Demo 快捷区的视觉重量:18 像素图标与 30 像素热区分别控制,增加分类分隔留白和悬停、按下、键盘焦点反馈。
  • Ribbon 分类复用 Semi 线形页签,消除模板与内容重复内边距;导航使用目录矢量图标,标题栏密度和通知改用 Semi 图形。
  • 应用默认字体统一覆盖 Dock 浮动窗与弹出层,目录入口按原型使用 12 像素常规字重,原型和视觉规格同步。
  • 属性面板排序按钮使用面板主题令牌,选中状态采用浅底与描边;Toolkit Demo 通过 NuGet 消费相同改进。
  • 验证:Windows x64 NativeAOT 脚本发布、原生冒烟和截图通过;图标与热区运行尺寸、中英文及窄窗口检查通过,README 的 PNG/GIF 同步更新;实机复核快捷保存的鼠标反馈与键盘焦点,修正浅色导航展开箭头的对比度。
12.1.4.13 12.1.4.13 (2026-10-14)
  • 新增 StudioPalette、StudioThemeMode 与 StudioThemeController:八套配色各自提供浅深资源,跟随系统通过平台事件更新;宿主退出可释放订阅。
  • Demo 标题栏和属性面板共用浅色、深色、跟随系统状态,保留配色色圈;语言切换只更新选项标题,布局存档兼容旧明暗字段。
  • Markdown 表格按内容分配自然列宽,长列在窄视口内换行,兼顾无空格网址、多短列及恢复窗口宽度后的行高。
  • 原型同步八色三态、系统变化与布局保存;发布脚本限制工程级并发,降低多仓联调的 MSBuild 资源争用。
  • macOS ARM64 发布配置改用经典链接器并关闭符号压缩,规避 Xcode 16 的 Fixup::addend 内部断言;恢复构建结果以云端工作流为准。
  • 验证:310 项库测试、128 次原型路由/语言/宽度检查及主题检查通过;Windows x64 NativeAOT 原生冒烟与截图退出 0,32 页 × 16 配色渲染零失败,验证文档浮动、动态语言及主题模式选择。
12.1.4.12 12.1.4.12 (2026-10-14)
  • Markdown 翻译 JSON 内嵌程序集,宿主仅维护自身输出资源;支持同键覆盖、运行时切换及重新加载,修复控件重新挂载后菜单语言未同步的问题。
  • Demo 的强类型国际化键改用可重复执行的 T4,生成注释使用简体中文;新增已挂载控件的菜单、选择菜单和代码按钮语言切换测试。
  • 每个 Dock Document 内使用 Grid 与 GridSplitter 组合演示和属性面板,配置原生浮动窗口,保留独立属性与分隔宽度。
  • Ribbon 菜单图标统一 32 像素,首页及各演示页精简重复说明;属性面板采用 Semi 图标、下一行搜索、无边框表格编辑器及横竖分隔线,支持列宽与行高拖拽。
  • 两套原型的下拉框文本统一左对齐,并添加属性搜索、排序及尺寸拖拽的自动化验收。
  • 验证:304 项单元测试、T4/目录同步和 128 次浏览器路由检查通过;Windows x64 NativeAOT 原生冒烟与截图均退出 0,覆盖文档浮动、参数隔离、动态语言和 Ribbon 矢量图标尺寸。
12.1.4.11 12.1.4.11 (2026-10-14)
  • 国际化 BCL 引擎移至 CodeWF.Toolkit.Lang 1.0.0.13;Avalonia 包保留 XAML 标记扩展、转换器和旧接口兼容层,不再维护第二份解析器或语言状态。
  • 保留旧 I18nManager、ILangPlugin、LocalizationLanguage 和三个插件的使用方式,包括可修改的语言字典;Toolkit 发起的语言或资源变化可刷新现有 Avalonia 绑定。
  • 日志依赖升级至 CodeWF.Toolkit.Logging 1.0.0.13,与库级国际化共用同一语言状态。
  • Demo 语义资源与目录工厂统一生成,原型增加浏览器路由、语言及导航门禁;继续使用开源 Dock Simple 基础主题。
  • 验证:293 项测试通过,使用公开 NuGet 依赖重新还原和测试通过;旧版 12.1.4.10 编译的独立消费程序替换为新兼容层后运行成功;Windows x64 NativeAOT 发布和原生冒烟通过。
12.1.4.5 12.1.4.5 (2026-10-13)
  • 🐛[修复]-主题令牌在渲染期解析失败:Light / Dark 变体字典用 StaticResource 把 SemiColor*、WindowDefaultBackground 别名到自己变体里,而样式级静态查找看不到宿主应用级(Semi 主题包)提供的同名键,导致应用引导 / 文档流程等页面在测量排布时抛 KeyNotFoundException;现两个变体各增一份字面量令牌集(Themes/Light/Tokens.axaml、Themes/Dark/Tokens.axaml)并置于该变体 _index 的首位。
  • 🐛[修复]-高对比色板(Aquatic / Desert / Dusk / NightSky)此前完全没有这组令牌,控件静默退化成无色;现按各自既有字面色就地补齐。
  • 🐛[修复]-控件主题对 Dock 包的隐藏依赖:ColumnDisplayEditor、Guide、SearchListBox、Transfer 引用的 CodeWFDock* 令牌改走本库 SemiColor*,只装 Controls 不再缺键。
  • 🐛[修复]-SemiIconHandle / SemiIconSearchStroked 在 Default 变体下解析失败或类型不符(PathIcon.Data 需要 SvgPath),改为内联几何;SemiShadowElevated 不可达时内联阴影字面量。
  • 🧪[验证]-演示台冒烟升级为「逐页面 × 逐色板」渲染:24 页 × 7 变体(Light / Dark + 4 套高对比)= 168 次测量排布,失败 0,退出码即门禁;CI 的 AOT 冒烟不再 continue-on-error。
12.1.4.4 12.1.4.4 (2026-10-13)
  • 🚀[发布]-全平台安装包:推送 v* 标签即由 GitHub Actions 产出 6 个 RID 的 NativeAOT 产物,Windows 出 Inno Setup 安装向导(x64)与便携 zip(x86 仅 zip),Linux 出 deb,macOS 出 dmg,均附 sha256;本地同款脚本在 scripts/ 下(publish_avalonia_demo.ps1、package_linux_deb.ps1、package_macos.sh、package_demo_artifacts.ps1、CodeWF.Avalonia.Demo.iss)。
  • 🔨[优化]-便携 zip 不再打包调试符号,并改为逐文件写入归档,输出稳定可复现。
12.1.4.3 12.1.4.3 (2026-10-12)
  • 🐛[修复]-高对比色板(Aquatic/Desert/Dusk/NightSky)深色底配深色字看不清:Semi 的这四个变体只提供语义令牌(Window/WindowText/GrayText/Hotlight/Highlight),数字令牌会回落到 Light;本库此前四者共用一份 Light 字典,现改为每变体一份并对齐 Semi 高对比取值(Controls 与 Dock 两处同步),同时把控件主题里跨 Style 指向 Semi 令牌的引用自足化。
  • 🐛[修复]-构建流水线在全新检出下必然失败:根目录 NuGet.config 写死了本地包源 artifacts/packages(该目录被忽略、CI 上不存在),NuGet 对不存在的本地源报 NU1301 直接中断;现只注册 nuget.org,本机要用本地打包产物时在命令行追加包源。
  • 🐛[修复]-CodeWF.Avalonia.TreeDataGrid 对同仓 CodeWF.Avalonia.Lang 用的是 PackageReference,CI 会去 nuget.org 找本仓尚未发布的版本号(NU1102);改为 ProjectReference,打包后的依赖声明不变。
  • 🎨[界面]-Dock 主题去掉 Fluent 依赖:DockSemiTheme 改以 Dock.Avalonia.Themes.Simple 为基座,配色令牌按 6 套变体(Default/Light/Dark + Semi 四套色板)字面量化,彻底绕开启动早期跨文件 StaticResource 解析失败的问题;不再需要 Avalonia.Themes.Fluent / Dock.Avalonia.Themes.Fluent。
  • 🐛[修复]-Semi.Avalonia 12.x 不再提供 {x:Type Button} / {x:Type Window} 基类主题(旧版由 FluentTheme 提供),Dock 的页签关闭/新建按钮、工具条按钮、浮动窗口等 BasedOn 会解析失败;主题内置最小可用的基类主题。
  • 🐛[修复]-演示应用改回 DockSemiTheme,App.axaml 移除自有 FluentTheme,Dock 区域配色跟随所选变体。
  • 🐛[修复]-文档块虚拟化下大块滚出视口即被解体、滚回来又重建(图片重新解码/光栅化、Mermaid 重新布局渲染、代码重新高亮),滚动卡顿:WindowedStackPanel 新增保留策略——本帧刚离开窗口的重块按高度预算保留控件,轻量段落照常解体;新增离屏块滚动锚点补偿,变高块量测引起的高度变化不再让视口跳动。
  • 🐛[修复]-MarkdownViewer 的保留预算只作用于重块(代码块、表格、图片、公式、Mermaid),并接上「已量测 + 离视口最近」的锚点固定,整篇重建时先清空旧锚点。
  • 🐛[修复]-MarkdownImage 复用已解码位图与光栅化结果(LRU 上限 64MB),SVG/GIF 预览不再每次重建;单帧 GIF 按静态图渲染,避免空转动画时钟。
  • 🐛[修复]-Mermaid 图表 SVG 按「源码 + 主题配色」缓存(上限 48 张,失败结果同样缓存),块重建时直接复用。
  • 🐛[修复]-大纲/滚动定位取块边界时先物化目标块并推进布局,读位置采样跳过未量测块。
  • 🧪[验证]-新增虚拟化保留策略单元测试(8 例)与 MarkdownViewer 真实控件回归(重块离屏保留、轻量块释放、仅物化视口附近),库全量测试通过。
  • 🐛[修复]-演示应用 MainWindow 缺少 using Avalonia.Controls;,TryFindResource 扩展方法解析失败,导致整仓构建(含发布流水线)在演示项目上中断。
12.1.4.1 12.1.4.1 (2026-10-10)
  • 🎨[界面]-更换全新设计的官方 logo(居中字母 A · 界面构成),SVG/PNG/ICO 三格式随包更新。
12.1.4.0 12.1.4.0 (2026-10-10)
  • 🚀[发布]-首个正式版:9 个包面向 Avalonia 12.1.4,覆盖 Controls、DataGrid、TreeDataGrid、Dock、Markdown、Log、Lang 产品线。
  • 🐛[修复]-Dock 主题在 Avalonia 12.1.4 下 BasedOn 静态资源解析失败:DockSemiTheme 内联 FluentTheme 提供同文件作用域基主题。
  • 🐛[修复]-TreeDataGrid 取消排序在社区分支上抛 MissingFieldException:字段清空改为尽力而为,兼容开源血统两条版本线。
  • ✨[新功能]-DataGrid 新增 ApplyPerformancePreset 性能预设,承接原 ProDataGrid 调用点。
  • 🧪[验证]-新增 TreeDataGrid 排序回归测试(Headless 反射直调取消排序);演示应用全主题 10 秒运行冒烟通过。
12.1.4.0-preview.1 12.1.4.0-preview.1 (2026-10-10)
  • 🚀[发布]-首个预览版:9 个包覆盖 Controls、DataGrid、TreeDataGrid、Dock、Markdown、Log、Lang 七条产品线,目标框架 net10.0,版本前三位对齐 Avalonia 12.1.4。
  • ✨[新功能]-TreeDataGrid 增强切换至社区版 TreeDataGrid.Avalonia,Semi 主题以本地副本内置,不再依赖商业版组件。
  • 🔨[优化]-全部控件的 XAML 命名空间统一挂 https://codewf.com,主题入口类名保持稳定,应用侧 App.axaml 引入行无需变化。
  • 🔨[优化]-主题资源并入对应控件包,安装控件即得主题;表格增强、Dock、Markdown 的主题拆分包取消。
  • 🧪[验证]-解决方案全量构建与打包演练通过;相对主题引用全量静态校验通过。