CodeWF.Avalonia.TreeDataGrid 12.1.4.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package CodeWF.Avalonia.TreeDataGrid --version 12.1.4.7
                    
NuGet\Install-Package CodeWF.Avalonia.TreeDataGrid -Version 12.1.4.7
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeWF.Avalonia.TreeDataGrid" Version="12.1.4.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CodeWF.Avalonia.TreeDataGrid" Version="12.1.4.7" />
                    
Directory.Packages.props
<PackageReference Include="CodeWF.Avalonia.TreeDataGrid" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CodeWF.Avalonia.TreeDataGrid --version 12.1.4.7
                    
#r "nuget: CodeWF.Avalonia.TreeDataGrid, 12.1.4.7"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CodeWF.Avalonia.TreeDataGrid@12.1.4.7
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CodeWF.Avalonia.TreeDataGrid&version=12.1.4.7
                    
Install as a Cake Addin
#tool nuget:?package=CodeWF.Avalonia.TreeDataGrid&version=12.1.4.7
                    
Install as a Cake Tool

CodeWF.Avalonia

CI NuGet License Target

面向 Avalonia 12 的 UI 控件与能力库合集:基础自定义控件、表格增强、Dock 布局、Markdown 渲染与编辑、国际化、日志查看,均以 CodeWF.Avalonia.* 前缀发布,XAML 命名空间统一挂 https://codewf.com。

A suite of UI control and capability libraries for Avalonia 12, published with the CodeWF.Avalonia.* prefix and a unified XAML namespace https://codewf.com.

版本号前三位跟随 Avalonia(当前 12.1.4),第四位为本仓修订号。

这个仓库解决什么 / What it solves

场景 用到的包
桌面应用外壳:统一标题栏、新手引导、状态徽标/卡片、穿梭框与可搜索列表 CodeWF.Avalonia.Controls
数据表格:三态排序(升/降/取消)、自然排序、截断 ToolTip;树形表格同款,另附通用属性面板 CodeWF.Avalonia.DataGrid、CodeWF.Avalonia.TreeDataGrid
多文档工作区:Dock 布局适配、梯形文档页签、中英文本地化 CodeWF.Avalonia.Dock
Markdown 写作与发布:渲染、图片/公式/Mermaid/代码高亮、PNG/PDF/Word/公众号 HTML 导出、源码与所见即所得编辑器 CodeWF.Avalonia.Markdown.Lite、CodeWF.Avalonia.Markdown
运行期观测与本地化:实时日志查看、桌面通知、I18n 标记扩展与强类型 Key 生成 CodeWF.Avalonia.Log、CodeWF.Avalonia.Lang、CodeWF.Avalonia.Lang.Generator

包一览 / Packages

「依赖」列只列第三方与本仓包依赖;所有包均面向 net10.0(Lang.Generator 为 netstandard2.0)。只有 4 个包直接依赖 Semi.Avalonia。

包 说明 依赖
CodeWF.Avalonia.Controls 基础自定义控件 + Semi 主题:Guide 引导、Transfer/SearchListBox、StatusBadge/StatusCard、CodeWFWindow/标题栏、WindowedStackPanel、梯形页签、If/Switch 标记扩展与转换器 Avalonia、Semi.Avalonia、CodeWF.Avalonia.Lang
CodeWF.Avalonia.DataGrid 官方 DataGrid 增强:三态排序、自然排序、智能 ToolTip,内置 Semi 主题入口 Avalonia.Controls.DataGrid、Semi.Avalonia
CodeWF.Avalonia.TreeDataGrid 社区版 TreeDataGrid.Avalonia 增强:三态排序、Ctrl+A 全选、智能 ToolTip,内置 Semi 主题(本地 vendor,不依赖商业版);含通用 PropertyGrid TreeDataGrid.Avalonia、Avalonia.Controls.ColorPicker、Semi.Avalonia、CodeWF.Avalonia.Lang
CodeWF.Avalonia.Dock 基于 Dock.Avalonia 的布局扩展与 Semi 风格主题,含中英文本地化 Dock.Avalonia、Dock.Avalonia.Themes.Simple、Semi.Avalonia
CodeWF.Avalonia.Markdown.Lite Markdown 渲染引擎(常规元素)+ 18 套排版主题 Avalonia、Markdig、CodeWF.Avalonia.Controls*、CodeWF.Avalonia.Lang*
CodeWF.Avalonia.Markdown 完整包:图片/公式/Mermaid/代码高亮/多格式导出/源码与所见即所得编辑器 Avalonia.AvaloniaEdit、AnimatedImage.Avalonia、Mermaider、SkiaSharp、Svg.Skia、Svg.Controls.Skia.Avalonia、Sylinko.CSharpMath.Avalonia、TextMateSharp(.Grammars)、CodeWF.Avalonia.Markdown.Lite、CodeWF.Avalonia.Controls*、CodeWF.Avalonia.Lang*
CodeWF.Avalonia.Log 日志查看控件与桌面通知(配合 CodeWF.Toolkit.Logging) Avalonia、Xaml.Behaviors、CodeWF.Toolkit.Logging
CodeWF.Avalonia.Lang 插件化国际化:I18n 标记扩展 + 内置 Json/Xml/Resx 加载器 Avalonia
CodeWF.Avalonia.Lang.Generator 编译期源生成器:从语言资源生成强类型 Key Roslyn(PrivateAssets=all,netstandard2.0)

* 标注的依赖由对应包经传递引用带入,无需单独安装;它们本身不依赖 Semi,见 主题与依赖。

快速开始 / Quick start

# 最小可用:控件 + 官方 DataGrid 增强
dotnet add package CodeWF.Avalonia.Controls
dotnet add package CodeWF.Avalonia.DataGrid

App.axaml(注意 xmlns:semi,缺少它 <semi:SemiTheme/> 无法解析):

<Application xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:semi="https://irihi.tech/semi"
             xmlns:codewf="https://codewf.com">
  
  <Application.Styles>
    
    <semi:SemiTheme Locale="zh-CN" />
    
    <codewf:ACSemiTheme />
    
    <codewf:DataGridSemiTheme />
  </Application.Styles>
</Application>

上面三行按需增删即可,下面是几种常见的最小组合:

你只需要 Application.Styles 里放什么
Markdown 渲染(Lite,不引入 Semi) <codewf:MarkdownThemes />
Markdown 完整能力(编辑器/导出/图表) <codewf:MarkdownFullThemes />(继承自 Lite 的 MarkdownThemes)
日志查看控件 <codewf:CodeWFLogTheme /> + 先初始化 CodeWF.Toolkit.Logging 的 Logger
树形表格 + 属性面板 <semi:SemiTheme />、<codewf:TreeDataGridSemiTheme />
Dock 多文档工作区 <semi:SemiTheme />、<codewf:DockSemiTheme />
仅国际化 不需要任何主题入口,初始化 I18nManager 即可

主题与依赖 / Themes and dependencies

六个主题入口分别属于哪个包、是否依赖 Semi、能否省略:

主题入口 所属包 依赖 Semi 可否省略
ACSemiTheme Controls 是 用了 Guide/Transfer/StatusBadge/CodeWFWindow 等控件则必须引入
DataGridSemiTheme DataGrid 是 用了 EnableDefaults() 增强或需要 Semi 风格表头则必须引入
TreeDataGridSemiTheme TreeDataGrid 是 用了 TreeDataGrid 增强或 PropertyGrid 则必须引入
DockSemiTheme Dock 是 用了 Dock 布局则必须引入
CodeWFLogTheme Log 否 只在不使用日志查看控件时可省
MarkdownThemes / MarkdownFullThemes Markdown.Lite / Markdown 否 用了 Markdown 控件则必须引入(后者包含前者)

6 套色板与 RequestedThemeVariant 的对应关系(演示应用还提供三套 Studio 配色,见下文):

色板 取值
Default ThemeVariant.Light / ThemeVariant.Dark
Aquatic、Desert、Dusk、NightSky SemiTheme.Aquatic / .Desert / .Dusk / .NightSky(Semi 提供的固定深色变体,不随浅深切换)
HighContrast CodeWFLogTheme.HighContrast(深色高对比,供日志控件使用)

运行时切换只需给 Application.Current.RequestedThemeVariant 赋值:

Application.Current!.RequestedThemeVariant = ThemeVariant.Dark;          // Default 色板 · 深色
Application.Current!.RequestedThemeVariant = SemiTheme.Aquatic;          // 水生
Application.Current!.RequestedThemeVariant = CodeWFLogTheme.HighContrast; // 高对比

改色时的两个事实

  • CodeWFLogTheme 是 sealed:它只能整体引入,不支持继承后覆盖配色。若需要自定义日志配色,请在应用资源里覆盖同名画笔键(Application.Resources 的优先级高于主题)。
  • MarkdownThemes 可以继承:它是 public 无参构造的 Styles,MarkdownFullThemes 就是这么来的;排版主题/尺寸也支持运行时切换:
public class MyMarkdownThemes : MarkdownThemes
{
    public MyMarkdownThemes()
    {
        TypographyTheme = MarkdownTypographyThemes.TechnologyBlue; // 默认 Basic
        TypographySize = MarkdownTypographySizes.Small;            // 默认 Normal
    }
}
<codewf:MarkdownThemes TypographyTheme="TechnologyBlue" TypographySize="Small" />

排版主题共 18 套,Key 见 MarkdownTypographyThemes(Basic 为默认),尺寸见 MarkdownTypographySizes。

全局/局部切换还可调用 MarkdownThemes.OverrideTypographyResources(...),无需重建控件。

注意:主题资源以程序集内绝对 URI(avares://CodeWF.Avalonia.*/Themes/...)引用,不要手动改写资源字典路径。

需要宿主自备的主题 / Host-provided theming

情形 宿主需要做什么
Dock DockSemiTheme 以 Dock 官方的 Dock.Avalonia.Themes.Simple 为基座,并自带 {x:Type Button} / {x:Type Window} 基类主题(Semi.Avalonia 12.x 不再提供这两个基类主题),因此不需要再引入 FluentTheme;但 Semi 基础主题仍需引入。
AvaloniaEdit(Markdown 完整包) 编辑器需要宿主提供字体令牌(FontSizeNormal 等,通常来自所引用的主题包)。缺少时编辑器字号会回退到默认值,不影响功能。
Markdown 语言资源 语言 JSON 随包分发到输出目录 I18n/CodeWF.Markdown/,用 CodeWF.Avalonia.Lang 的 Json 加载器指向该目录即可完成本地化。
日志控件 需先初始化 CodeWF.Toolkit.Logging 的 Logger,控件订阅其 UI 日志事件流;回调在后台线程,界面订阅方自行调度到 UI 线程。

包 → 源码 → 文档索引 / Source & docs index

包 源码 文档
Controls src/Controls 说明文档
DataGrid src/DataGrid 说明文档
TreeDataGrid(含 PropertyGrid) src/TreeDataGrid 说明文档
Dock src/Dock 说明文档
Markdown / Markdown.Lite src/Markdown 说明文档
Log src/Log 说明文档
Lang / Lang.Generator src/Lang 说明文档

演示应用 / Demo

新版原生首页可直接操作 Markdown、自然排序表格和 Dock,并通过能力卡片进入完整演示。共享主题接口、MVVM 约定与截图检查见 原生演示台文档。

The native overview offers live Markdown, natural sorting and Dock experiments. See the linked guide for optional Studio themes, localization and validation.

Windows x64 NativeAOT Demo:标题栏支持主题色圈与下拉同步切换,默认 .NET 紫,也提供 AI 极光与暖陶的深浅主题。首页直接使用库内 Markdown 编辑器与渲染器;完整功能与验收范围见上面的文档。

.NET 紫色原生演示台

AI 极光浅色原生演示台

Markdown 实时编辑

主题与实验切换

# 桌面演示台:Ribbon 页签 + Dock 工作区(左导航 / 中文档 / 右属性面板 / 下日志),含 .NET 紫、AI 极光、AI 暖陶与原有六套 Semi 配色,支持深浅与双语切换
dotnet run --project demo/CodeWF.Avalonia.Demo -f net10.0

# 冒烟模式:逐页构建后逐色板渲染一遍再退出,退出码 0 表示全部页面构建 + 渲染通过(CI 使用)
dotnet run --project demo/CodeWF.Avalonia.Demo -f net10.0 -- --smoke

安装包由 GitHub Releases 提供(随 v* tag 构建):Windows setup.exe / 便携 zip、Linux deb、macOS dmg,均附 .sha256 校验文件。

CI/CD 与版本策略 / CI and versioning

  • ci.yml:dotnet build -c Release + dotnet test,外加 NativeAOT 发布并在 Windows 上运行 --smoke。
  • publish-nuget.yml:推送 v* tag 时打包并发布 NuGet(Trusted Publishing)。
  • release.yml:同一 tag 触发全平台演示应用发布(6 个 RID:win-x64/x86、linux-x64/arm64、osx-x64/arm64)。
  • 版本号前三跟随 Avalonia,第四位为本仓修订,例如 v12.1.4.4。
  • 变更记录见 UpdateLog.md。

许可与贡献 / License and contributing

MIT。Issue 与 PR 都欢迎,提交前请确保 dotnet build CodeWF.Avalonia.slnx -c Release 与 dotnet test 通过。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
12.1.4.21 0 10/15/2026
12.1.4.20 0 10/15/2026
12.1.4.19 0 10/15/2026
12.1.4.18 0 10/15/2026
12.1.4.17 0 10/15/2026
12.1.4.16 28 10/14/2026
12.1.4.15 31 10/14/2026
12.1.4.14 51 10/14/2026
12.1.4.13 47 10/14/2026
12.1.4.12 40 10/14/2026
12.1.4.11 36 10/14/2026
12.1.4.10 34 10/14/2026
12.1.4.9 37 10/14/2026
12.1.4.8 35 10/13/2026
12.1.4.7 93 10/13/2026
12.1.4.5 54 10/13/2026
12.1.4.4 40 10/13/2026
12.1.4.3 69 10/12/2026
12.1.4.2 47 10/12/2026
12.1.4.1 54 10/10/2026
Loading failed