mcpField
S
syncfusion-wpf-diagram

syncfusion-wpf-diagram

github.com/syncfusion设计与 UI5156 次安装1 周前更新
代码仓库

关于 syncfusion-wpf-diagram

此技能介绍如何在 WPF 应用中使用 Syncfusion SfDiagram 构建和定制交互式图表,涵盖图表元素、自动布局、数据绑定、持久化、导出和打印。

主要功能

  1. 01节点、连接器、端口和注释
  2. 02多种图表类型的自动布局
  3. 03支持拖放符号的模具面板
  4. 04基于数据绑定生成图表
  5. 05XML、JSON 和流序列化
  6. 06图像与 PDF 导出及打印

适用场景

  1. 01构建流程图、组织结构图或思维导图
  2. 02创建 BPMN 或 UML 图表
  3. 03根据层级数据生成图表
  4. 04保存、导出或打印图表状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-diagram

安装后在 Claude Code 中输入/syncfusion-wpf-diagram确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
annotations.md
automatic-layouts.md
bpmn-shapes.md
commands.md
connectors.md
data-source.md
diagram-customization.md
export-print.md
getting-started.md
interaction.md
nodes.md
performance-constraints.md
ports.md
serialization-undo-redo.md
stencil.md
swimlane.md
uml-diagrams.md

详细介绍

实现 Syncfusion WPF Diagram(SfDiagram)

Syncfusion WPF Diagram 控件(SfDiagram)是一款功能丰富的图表库,可用于在 WPF 应用程序中构建交互式流程图、组织结构图、BPMN 图、UML 图、网络图等。它提供节点、连接线、注释、端口、自动布局和丰富的自定义选项。

何时使用此技能

  • 在 WPF 应用程序中创建任何可视化图表(流程图、组织结构图、思维导图等)
  • 向图表添加节点、连接线、注释或端口
  • 实现 BPMN 或 UML 图
  • 设置自动图表布局(层次结构、组织结构图、思维导图、流程图、放射状)
  • 配置用于拖放式图表构建的符号面板(模板)
  • 绑定数据源以动态生成图表
  • 启用图表交互(选择、拖动、调整大小、缩放、键盘快捷键)
  • 导出或打印图表
  • 自定义图表外观(网格线、标尺、主题、页面设置)

快速入门

1. 安装 NuGet 包
Install-Package Syncfusion.SfDiagram.WPF
2. 在 XAML 中添加命名空间
xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
3. 声明 SfDiagram
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf" ...>
    <Grid>
        <syncfusion:SfDiagram x:Name="diagram">
            <syncfusion:SfDiagram.Nodes>
                <syncfusion:NodeCollection/>
            </syncfusion:SfDiagram.Nodes>
            <syncfusion:SfDiagram.Connectors>
                <syncfusion:ConnectorCollection/>
            </syncfusion:SfDiagram.Connectors>
        </syncfusion:SfDiagram>
    </Grid>
</Window>
4. 在代码隐藏文件中添加节点和连接线
using Syncfusion.UI.Xaml.Diagram;

// Add nodes
var node1 = new NodeViewModel { ID = "Start", UnitWidth = 120, UnitHeight = 40,
    OffsetX = 200, OffsetY = 100, Shape = this.Resources["Ellipse"] };
var node2 = new NodeViewModel { ID = "End", UnitWidth = 120, UnitHeight = 40,
    OffsetX = 200, OffsetY = 250, Shape = this.Resources["Rectangle"] };
(diagram.Nodes as NodeCollection).Add(node1);
(diagram.Nodes as NodeCollection).Add(node2);

// Add connector
var connector = new ConnectorViewModel { SourceNodeID = "Start", TargetNodeID = "End" };
(diagram.Connectors as ConnectorCollection).Add(connector);

文档和导航指南

入门

📄 阅读: references/getting-started.md

  • 程序集部署和 NuGet 设置
  • 通过 XAML 或代码添加 SfDiagram
  • 注册许可证密钥
  • 合并内置形状资源字典
  • 创建最简流程图示例
节点

📄 阅读: references/nodes.md

  • 定义和定位节点(XAML 和 C#)
  • 内置形状和自定义形状模板
  • 节点外观:填充、描边、阴影、工具提示
  • 节点组和容器
  • 节点约束(锁定、选择、调整大小、旋转)
  • 节点事件
连接线

📄 阅读: references/connectors.md

  • 定义节点之间的连接线
  • 连接线类型:直线、正交线、三次贝塞尔曲线、圆弧、二次曲线
  • 外观:线条样式、箭头、虚线
  • 连接线路由和线段
  • 连接线约束和交互
  • 在交点处分割连接线
注释

📄 阅读: references/annotations.md

  • 为节点和连接线添加文本标签
  • 注释的位置和对齐方式
  • 自定义外观(字体、背景、边框)
  • 在运行时编辑注释
  • 注释事件
端口

📄 阅读: references/ports.md

  • 在节点上定义连接端口
  • 端口类型和视觉外观
  • 端口悬停效果
  • 自动创建端口
  • 创建端口到端口的连接线
交互

📄 阅读: references/interaction.md

  • 选择(单选、多选、按类型选择)
  • 拖放节点和连接线
  • 调整大小、旋转和翻转
  • 缩放和平移
  • 键盘快捷键
  • 工具提示和用户操作句柄
  • 滚动设置、拖动限制、对齐
命令

📄 阅读: references/commands.md

  • 对齐(左、右、上、下、居中)
  • 剪贴板操作(剪切、复制、粘贴、重复)
  • 删除节点和连接线
  • 通过命令撤销/重做
  • 微移(使用方向键移动)
  • 旋转、翻转、适合页面
  • 间距、大小、Z 顺序
  • 展开/折叠节点
  • 自定义命令管理器
自动布局

📄 阅读: references/automatic-layouts.md

  • 层次树布局
  • 组织结构图布局
  • 思维导图布局
  • 流程图布局
  • 放射树布局
  • 力导向布局
  • 布局配置(间距、方向、边距)
BPMN 形状

📄 阅读: references/bpmn-shapes.md

  • BPMN 活动(任务、子流程)
  • BPMN 事件(开始、中间、结束)
  • BPMN 网关
  • BPMN 数据对象和数据存储
  • BPMN 连接线和文本注释
  • BPMN 组和符号面板
UML 图

📄 阅读: references/uml-diagrams.md

  • UML 形状类型(类、组件、用例、活动、状态、时序)
  • UML 时序图元素
  • 配置 UML 形状和关系
泳道图

📄 阅读: references/swimlane.md

  • 创建泳道图
  • 定义泳道和阶段
  • 泳道符号调色板
  • 泳道交互和自定义
模具(符号调色板)

📄 阅读: references/stencil.md

  • 设置拖放式符号调色板
  • 符号组和类别
  • 符号筛选和搜索
  • 向调色板添加自定义形状
  • 模具外观
数据源

📄 阅读: references/data-source.md

  • 将扁平数据集合绑定到图表
  • 父子数据关系
  • 自引用层次数据
  • 动态数据更新
序列化与撤销/重做

📄 阅读: references/serialization-undo-redo.md

  • 将图表保存并加载为 XML
  • 序列化为 JSON 或流,以及从 JSON 或流反序列化
  • 撤销/重做历史记录管理器
  • 自定义撤销/重做条目
图表自定义

📄 阅读: references/diagram-customization.md

  • 网格线(可见性、样式、吸附)
  • 标尺(外观、测量单位)
  • 页面设置(大小、方向、边距、背景)
  • 滚动设置和自动滚动
  • 主题和样式
  • 本地化
  • 上下文菜单
  • 图表功能区
  • 绘图工具
  • 概览控件
导出与打印

📄 阅读: references/export-print.md

  • 将图表导出为 PNG、JPEG、BMP
  • 导出为 PDF
  • 使用打印设置打印
  • 打印前预览
性能与约束

📄 阅读: references/performance-constraints.md

  • 大型图表的虚拟化
  • 图表级约束
  • 节点和连接线约束
  • 性能优化技巧

常见模式

模式:自动布局流程图

当用户希望根据数据自动排列图表时,请阅读 references/automatic-layouts.md 和 references/data-source.md。

模式:根据业务数据创建组织结构图

绑定具有父子关系的员工数据,并应用组织结构布局——请阅读 references/data-source.md 和 references/automatic-layouts.md。

模式:BPMN 流程图

用于使用标准化形状进行业务流程建模——请阅读 references/bpmn-shapes.md。

模式:交互式图表构建器

用于用户从调色板拖动形状的应用——请阅读 references/stencil.md 和 references/interaction.md。

模式:保存/加载图表状态

用于跨会话持久化图表状态——请阅读 references/serialization-undo-redo.md。

评论

支持 Markdown