CodeWF.AvaloniaControls.Dock.Themes
12.0.5.2
dotnet add package CodeWF.AvaloniaControls.Dock.Themes --version 12.0.5.2
NuGet\Install-Package CodeWF.AvaloniaControls.Dock.Themes -Version 12.0.5.2
<PackageReference Include="CodeWF.AvaloniaControls.Dock.Themes" Version="12.0.5.2" />
<PackageVersion Include="CodeWF.AvaloniaControls.Dock.Themes" Version="12.0.5.2" />
<PackageReference Include="CodeWF.AvaloniaControls.Dock.Themes" />
paket add CodeWF.AvaloniaControls.Dock.Themes --version 12.0.5.2
#r "nuget: CodeWF.AvaloniaControls.Dock.Themes, 12.0.5.2"
#:package CodeWF.AvaloniaControls.Dock.Themes@12.0.5.2
#addin nuget:?package=CodeWF.AvaloniaControls.Dock.Themes&version=12.0.5.2
#tool nuget:?package=CodeWF.AvaloniaControls.Dock.Themes&version=12.0.5.2
CodeWF.AvaloniaControls.Dock
| 名称 | NuGet | 下载量 |
|---|---|---|
| CodeWF.AvaloniaControls.Dock | ||
| CodeWF.AvaloniaControls.Dock.Themes |
面向 Avalonia 12 的 Dock 扩展控件与主题资源。本仓库将可复用的 Dock 控件和 Dock 主题包拆分维护,应用可以按需只引用需要的部分。
仓库规范
- 当前版本:
12.0.4.12,版本号统一维护在根目录Directory.Build.props的<Version>节点。 - NuGet 包项目统一支持
net8.0;net10.0;Demo、App、测试与内部应用项目统一使用net11.0/net11.0-windows。 - 根目录
logo.svg、logo.png、logo.ico是唯一图标源,子工程只通过 MSBuildLink引用,不维护图标副本。 - 运行时帮助、Markdown 示例、内置备忘录、设计说明等业务文档按功能保留;仓库级入口文档使用根目录
README.md和UpdateLog.md。
安装
Install-Package CodeWF.AvaloniaControls.Dock
Install-Package CodeWF.AvaloniaControls.Dock.Themes
如果应用本身还没有引用 Semi,也需要添加 Semi.Avalonia,因为 CodeWF 的 Tool 标题栏会复用 Semi 色彩资源。
Install-Package Semi.Avalonia
主题配置
<Application
xmlns:codewf="https://codewf.com"
xmlns:fluent="clr-namespace:Avalonia.Themes.Fluent;assembly=Avalonia.Themes.Fluent"
xmlns:semi="https://irihi.tech/semi">
<Application.Styles>
<fluent:FluentTheme />
<semi:SemiTheme Locale="zh-CN" />
<codewf:DockSemiTheme />
</Application.Styles>
</Application>
DockSemiTheme 会加载开源的 Dock.Avalonia.Themes.Fluent Dock 主题,并应用 CodeWF 对 Tool chrome 按钮和 Tool 标题栏的细节调整。请保留 FluentTheme,用于 Dock 基础布局样式链;同时在 DockSemiTheme 之前加载 SemiTheme,保证 SemiColorText0、SemiColorFill0、SemiColorBorder 等 Semi 资源键可用。
从旧配置升级时,请将 DockCodeWFTheme 替换为 DockSemiTheme。本主题包不依赖非开源的 Semi.Avalonia.Dock 包。
Tool 标题栏
DockSemiTheme 提供 CodeWFToolChromeControlTheme,用于需要紧凑商务风格标题栏的 Tool 面板。默认标题左对齐,使用中性色文本,不使用彩色激活标题样式,并将关闭按钮保持在右侧。
应用可以覆盖 CodeWFToolTitleTabHeaderTemplate 来提供 Tool 专用标题图标,也可以覆盖 CodeWFToolTitleBarContentTemplate 来提供右侧标题栏内容。应用专用图标和操作应留在应用层;Dock 包只提供共享的标题栏结构和资源。
仓库结构
src/CodeWF.AvaloniaControls.Dock:可复用的 Dock 控件扩展src/CodeWF.AvaloniaControls.Dock.Themes:独立的 Fluent 基础 Dock 主题包,复用 Semi 色彩资源键src/CodeWF.AvaloniaControls.DockReactiveUIDemo:包含嵌套 Dock 与进程嵌入说明的 ReactiveUI 示例CodeWF.AvaloniaControls.Dock.slnx:Dock 库、主题包和示例项目的解决方案视图
脚本
pack.bat:还原、构建并打包CodeWF.AvaloniaControls.Dock和CodeWF.AvaloniaControls.Dock.Themes到artifacts/packagespublish_all.bat:将所有 Dock 示例应用发布到publish/publishbase.bat:示例发布脚本使用的共享发布辅助脚本
说明
CodeWF.AvaloniaControls.DockReactiveUIDemo保留Avalonia.Themes.Fluent作为基础样式和布局链,然后加载SemiTheme,使 Dock 标题栏资源可以复用 Semi 色彩令牌。Prism.DryIoc.Avalonia固定在8.1.97.11073,因为9.x分支是商业版本。- 控件包不依赖 Semi。主题包只引用 MIT 许可的
Semi.Avalonia包来共享色彩资源,不包含Semi.Avalonia.Dock或 Ursa 依赖。 - NuGet 包包含根目录下的简单 logo 资源:
logo.png、logo.svg和logo.ico。
第三方开源审计
2026-06-02 根据 NuGet 元数据、还原后的 project.assets.json、包 nuspec 文件以及上游源码和许可证链接完成检查。优先采用 MIT、Apache-2.0、BSD 许可证。源码可见但不属于优先许可证的依赖,在使用前必须复审。
整改内容:
- 移除原有 Dock 主题路径,改为使用开源的
Dock.Avalonia.Themes.Fluent主题。 - 将
DockSemiTheme接入 Fluent Dock 资源,并叠加 CodeWF Tool chrome 细节调整。 - 复用开源 Semi 色彩资源,用于 CodeWF Tool 标题栏,不使用非开源的
Semi.Avalonia.Dock包。 - 移除依赖非 Fluent 主题键的自维护 Dock XAML 资源。
| 包 / 家族 | 许可证 | 源码 | 状态 |
|---|---|---|---|
Avalonia, Avalonia.Desktop, Avalonia.Fonts.Inter, Avalonia.Themes.Fluent, Avalonia.* 原生 / 平台包 |
MIT | https://github.com/AvaloniaUI/Avalonia | 已批准 |
CodeWF.AvaloniaControls.Dock, CodeWF.AvaloniaControls.Dock.Themes |
MIT | https://github.com/dotnet9/CodeWF.AvaloniaControls.Dock | 自有开源包 |
CodeWF.EventBus, CodeWF.Log.Core |
MIT | CodeWF 仓库 | 自有开源包 |
Dock.Avalonia, Dock.Avalonia.Themes.Fluent, Dock.Model.ReactiveUI, Dock.Controls.*, Dock.Model, Dock.Settings |
MIT | https://github.com/wieslawsoltes/Dock | 已批准 |
DryIoc.dll |
MIT | https://github.com/dadhi/DryIoc | 已批准 |
DynamicData, ReactiveUI, Splat, System.Reactive |
MIT | https://github.com/reactiveui | 已批准 |
HarfBuzzSharp, SkiaSharp 与原生资源 |
MIT | https://github.com/mono/SkiaSharp | 已批准 |
MicroCom.Runtime |
MIT | https://github.com/AvaloniaUI/MicroCom | 已批准 |
Prism.DryIoc.Avalonia, Prism.Avalonia, Prism.Core |
MIT | https://github.com/AvaloniaCommunity/Prism.Avalonia | 已批准,固定在 8.x |
Semi.Avalonia |
MIT | https://github.com/irihitech/Semi.Avalonia | 已批准;用于开源主题资源和色彩令牌 |
StaticViewLocator |
MIT | https://github.com/wieslawsoltes/StaticViewLocator | 已批准 |
System.* 运行时扩展包 |
MIT | https://github.com/dotnet/dotnet | 已批准 |
Tmds.DBus.Protocol |
MIT | https://github.com/tmds/Tmds.DBus | 已批准 |
VC-LTL |
EPL-2.0 | https://github.com/Chuyu-Team/VC-LTL5 | 源码可见;已按源码可追溯的非优先许可证规则批准 |
Xaml.Behaviors |
MIT | https://github.com/wieslawsoltes/Xaml.Behaviors | 已批准 |
YY-Thunks |
MIT | https://github.com/Chuyu-Team/YY-Thunks | 已批准 |
传递依赖检查结果:当前还原的依赖资源均源码可见且许可证可追溯。未使用闭源或黑盒 Dock 主题包。
Package Versioning Convention
Keep NuGet package versions and Central Package Management settings in Directory.Packages.props, including shared version properties such as AvaloniaVersion. Keep Directory.Build.props focused on build, compiler, and NuGet package metadata. When referenced, VC-LTL and YY-Thunks should use their latest prerelease versions for OS platform compatibility.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
-
net10.0
- Avalonia (>= 12.0.5)
- CodeWF.AvaloniaControls.Dock (>= 12.0.5.2)
- Dock.Avalonia (>= 12.0.0.2)
- Dock.Avalonia.Themes.Fluent (>= 12.0.0.2)
- Semi.Avalonia (>= 12.0.3)
-
net8.0
- Avalonia (>= 12.0.5)
- CodeWF.AvaloniaControls.Dock (>= 12.0.5.2)
- Dock.Avalonia (>= 12.0.0.2)
- Dock.Avalonia.Themes.Fluent (>= 12.0.0.2)
- Semi.Avalonia (>= 12.0.3)
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.0.5.2 | 50 | 6/24/2026 |
| 12.0.4.13 | 103 | 6/10/2026 |
| 12.0.4.12 | 94 | 6/8/2026 |
| 12.0.4.9 | 95 | 6/8/2026 |
| 12.0.4.8 | 95 | 6/3/2026 |
| 12.0.4.6 | 94 | 6/3/2026 |
| 12.0.4.5 | 92 | 6/2/2026 |
| 12.0.4.4 | 90 | 6/2/2026 |
| 12.0.4.3 | 98 | 6/2/2026 |
| 12.0.4.1 | 100 | 5/31/2026 |
| 12.0.3.10 | 92 | 5/31/2026 |
| 12.0.3.9 | 104 | 5/21/2026 |
| 12.0.3.4 | 98 | 5/20/2026 |
| 12.0.3.3 | 93 | 5/20/2026 |
| 12.0.3.2 | 97 | 5/20/2026 |