From b40fb78c70dfad2bdefeb65fa9fb23ab8bc5abb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=89=BE=E7=AB=B9?= Date: Sun, 5 Feb 2023 12:43:10 +0000 Subject: [PATCH] update README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 艾竹 --- README.md | 7 ++++++- customdefinednode.png | Bin 0 -> 12691 bytes 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 customdefinednode.png diff --git a/README.md b/README.md index 6ae49d3..493bb33 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ 示例项目(AIStudio.Wpf.DiagramDesigner.Demo)目录如下: - 1 Simple 简单示例 + ![输入图片说明](AIStudio.Wpf.DiagramDesigner.Demo/image.png) - 2 Locked 锁定节点 - 3 Events 事件(暂未完成,敬请期待) @@ -92,14 +93,18 @@ - 5 Performance 性能(100个节点生成) - 6 Zoom 放大缩小 - 7 SnapToGrid 对齐到网格 + ![输入图片说明](AIStudio.Wpf.DiagramDesigner.Demo/snaptogrid.png) - 8 DragAndDrop 拖拽 + ![输入图片说明](AIStudio.Wpf.DiagramDesigner.Demo/draganddrop.png) - 9 Nodes 节点示例 - - 9.1 Svg svg样式 + ![输入图片说明](AIStudio.Wpf.DiagramDesigner.Demo/svg.png) - - 9.2 CustomDefinedNode 自定义节点 -![](https://files.mdnice.com/user/17967/72c5a386-ae80-4d35-90ef-694d3bb790cc.png) + +![输入图片说明](customdefinednode.png) - - 9.3 PortlessLinks 无Port的node连接 ![](https://files.mdnice.com/user/17967/5560fbba-83ba-457b-83b9-31038a0ee7e9.png) - - 9.4 GradientNode 渐变色node diff --git a/customdefinednode.png b/customdefinednode.png new file mode 100644 index 0000000000000000000000000000000000000000..7f649e2deedf9a85231c5bb681f161086fbdc8a9 GIT binary patch literal 12691 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