Files
2026-10-27 09:12:40 +08:00

3.8 KiB
Raw Permalink Blame History

HandyControl WPF 控件 Skills

参照 Syncfusion WPF skills 的“每控件一个 Skill + 按需 references”组织方式,为当前 HandyControl WPF 实现编写。内容从本仓库源码、样式和中文文档生成,不包含 Syncfusion 的实现文档或 API。

共 82 个 Skill:79 个已文档化的扩展控件主题,以及接入入口、主题、原生控件样式。一个主题可能包含多个类型,例如 grid 对应 Row/Col,loading 对应 LoadingLine/LoadingCircle。范围为 doc/source/handycontrol/extend_controls/*/index.md;未文档化类型可通过入口 Skill 按源码查找,不代表已单独提供 Skill。Avalonia 不在此集合内。

安装与使用

需要 Python 3.9 或更新版本,无第三方依赖。在仓库根目录执行:

# 仅安装接入入口(默认安装到 CODEX_HOME/skills 或 ~/.codex/skills)
python skills/scripts/install_skills.py

# 按需安装控件;每个控件 Skill 自带接入说明与 API 导航,可独立使用
python skills/scripts/install_skills.py handycontrol-wpf-numeric-up-down handycontrol-wpf-dialog handycontrol-wpf-growl

# 查看名称 / 安装全部 / 更新已安装文件
python skills/scripts/install_skills.py --list
python skills/scripts/install_skills.py --all
python skills/scripts/install_skills.py --all --force

# 项目内安装(Codex 可发现的项目技能目录);其他支持 SKILL.md 的工具也可指定目录
python skills/scripts/install_skills.py --all --dest .agents/skills

默认不会覆盖已有同名目录;--force 更新文件但不删除额外文件。安装器先检查全部名称与目标目录,再复制;不修改业务工程、NuGet 引用或 AGENTS.md。不要把 skills/scripts 或 templates 当作独立 Skill 安装。

安装后在新会话中使用,例如:

使用 $handycontrol-wpf,在当前 WPF 工程接入 HandyControl。
使用 $handycontrol-wpf-numeric-up-down,实现数量输入,范围 1–999,双向绑定到 Quantity。
使用 $handycontrol-wpf-dialog,实现带关闭按钮的页面内对话框。
使用 $handycontrol-wpf-native-styles,为现有原生 Button、TextBox 应用 HandyControl 样式。
使用 $handycontrol-wpf-theming,为现有应用添加深色皮肤。

文件与维护

  • handycontrol-wpf/SKILL.md:统一入口,提供接入流程、排错及控件选择。
  • handycontrol-wpf/references/controls.md:完整控件索引。
  • handycontrol-wpf-*/SKILL.md:独立控件的使用约束、最小示例(适用时)。
  • references/api.md:公共声明和本库基类导航;仅声明摘录,不可当作完整代码编译。
  • references/usage.md:对应文档、样式和 Demo 源码位置。
  • agents/openai.yaml:Codex 展示信息和调用提示,保留默认自动发现行为。
  • templates/:维护接入、主题、原生样式手写内容的源文件。
  • scripts/build_skills.py:生成全部 Skill;特殊用法和精选示例在 NOTES / EXAMPLES 中维护。
  • scripts/validate_skills.py:检查生成一致性、元信息、引用、源码路径和 XML 语法。
python skills/scripts/build_skills.py
python skills/scripts/validate_skills.py

修改生成文件后应同步修改模板或生成器,再重新生成。build_skills.py --check 只检查,不写入。删除控件主题时,生成器会报告遗留 Skill,由维护者确认后手动移除,避免自动删除用户内容。

API 摘录不含所有继承成员、访问器或条件编译分支。在线源码链接指向 master,使用旧 NuGet 包时需核对对应版本;优先以实际引用版本源码为准。XML 语法校验不等于 WPF 编译、资源解析或运行时验证。可继续使用“代码审查”检查使用这些 Skill 后生成的具体实现。