305 Commits

Author SHA1 Message Date
kwai
55d3d59309 ink 2023-11-08 20:03:43 +08:00
艾竹
f3561bcc12 怎么又嵌入错了 2023-11-07 22:32:38 +08:00
艾竹
bf021b88c8 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-11-04 15:53:37 +08:00
艾竹
fb2f0be991 啥时候改出一个报错了 2023-11-04 15:53:19 +08:00
艾竹
9469506161 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-11-03 07:46:21 +00:00
kwai
27f1cfefe0 ink 2023-10-30 19:03:24 +08:00
艾竹
331cbf339f update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-10-29 08:41:19 +00:00
艾竹
683d1029ac update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-10-28 09:37:38 +00:00
艾竹
ffd6015b47 ink 2023-10-12 23:00:27 +08:00
艾竹
3afc0081cf 修复快速文字颜色 2023-10-06 22:22:33 +08:00
艾竹
45ef4a3cc2 ink 2023-10-01 23:26:22 +08:00
fan.yaying
da8f77510b Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-09-11 10:25:45 +08:00
fan.yaying
a184dce650 获取连接点时,如果根据坐标位置找不到时,根据id再查找一次 2023-09-11 10:25:40 +08:00
艾竹
9e6000f278 block 2023-09-05 22:51:08 +08:00
艾竹
2b8fe03f25 思维导图打开i报错修复 2023-09-03 21:11:23 +08:00
艾竹
0badb714a0 改下自定义控件类型 2023-09-03 16:57:02 +08:00
艾竹
2f12bfa829 添加几个参数 2023-09-03 16:48:56 +08:00
艾竹
b83f4fad7f 升级一下库 2023-08-27 23:03:07 +08:00
艾竹
2ffc7b3e52 拖拽支持工具栏信息带入 2023-08-27 16:02:28 +08:00
艾竹
476d0c57d3 声音序列化 2023-08-27 15:09:03 +08:00
艾竹
d50ec045ea bug修复 2023-08-26 21:30:31 +08:00
艾竹
045a724ee2 一点小优化和一点小bug修复 2023-08-26 15:02:43 +08:00
kwai
3859713cc1 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-08-25 19:07:03 +08:00
kwai
d4c347b19e block 2023-08-25 19:06:39 +08:00
艾竹
a896426adc update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-08-25 08:46:32 +00:00
艾竹
dc16828247 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-08-25 08:46:01 +00:00
艾竹
a562137d9e update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-08-25 08:45:13 +00:00
艾竹
77c8a9bdfd update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-08-25 08:44:27 +00:00
艾竹
b08e13b93e 反序列化构造函数 2023-08-23 22:49:42 +08:00
kwai
268404d1e8 block 2023-08-23 19:30:03 +08:00
fan.yaying
38e0981bb9 修复保存项目再开时连线重复添加了 start、end点 2023-08-22 15:44:09 +08:00
fan.yaying
67d995bb27 修改连线添加条件判断逻辑 2023-08-22 10:06:22 +08:00
艾竹
7692bb9398 单步执行和执行日志 2023-08-19 21:46:16 +08:00
kwai
e76a50f6e5 block 2023-08-18 18:56:37 +08:00
艾竹
a696312936 block 2023-08-13 23:05:06 +08:00
艾竹
872526f575 漏改了一个地方 2023-08-13 14:39:53 +08:00
艾竹
d68fe22a05 block demo 已经完成到第三个了 2023-08-13 11:36:47 +08:00
艾竹
9485ce6684 block使用linklist重写,把代码复杂度降低点 2023-08-12 22:58:24 +08:00
艾竹
8f7a43accd helloworld 2023-08-06 22:24:26 +08:00
艾竹
fe3e8b9ae1 block 2023-08-04 22:05:46 +08:00
kwai
25993fd3a9 block 2023-08-04 19:03:42 +08:00
艾竹
25cd232579 block 2023-08-03 23:01:33 +08:00
kwai
5ee23157e4 block 2023-08-03 20:06:02 +08:00
艾竹
5559a18c8e block 2023-08-02 22:58:12 +08:00
kwai
fe38c57e53 block 2023-08-02 19:46:44 +08:00
艾竹
15b7596515 block 2023-08-01 22:59:01 +08:00
艾竹
91d45b10f6 画笔扩展及周末不小心搞出来的几个bug修复 2023-07-31 22:50:19 +08:00
艾竹
4efb9a2c36 block 2023-07-30 22:49:50 +08:00
艾竹
dcd2cc44a3 block 2023-07-29 22:45:22 +08:00
艾竹
55678e72ed block size 2023-07-29 12:35:09 +08:00
艾竹
14735f78dc block 2023-07-29 09:45:50 +08:00
kwai
36413e2349 block 2023-07-28 18:48:15 +08:00
kwai
d0214cc1b3 block 2023-07-27 19:27:37 +08:00
艾竹
2d345fb076 block 2023-07-23 17:40:44 +08:00
艾竹
e34f7fd5a3 block 2023-07-23 12:35:18 +08:00
艾竹
b6e095293c block 2023-07-22 19:11:08 +08:00
艾竹
8ab43ecae1 block 2023-07-20 22:40:04 +08:00
kwai
661b235f57 block 2023-07-20 19:12:43 +08:00
艾竹
a862f94c50 block 2023-07-18 22:44:31 +08:00
艾竹
3193b538f9 block 2023-07-17 22:38:47 +08:00
艾竹
9b4e98ece4 update LICENSE.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-15 04:46:13 +00:00
艾竹
39d991da0f update LICENSE.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-15 04:32:49 +00:00
艾竹
2c9804513f update LICENSE.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-15 04:27:05 +00:00
艾竹
ebf003b20b josn保存的bug 2023-07-15 11:08:57 +08:00
艾竹
515ce1944b block的序列化与反序列化 2023-07-15 10:20:50 +08:00
kwai
954aeee87e block 2023-07-11 19:17:13 +08:00
艾竹
380c126e33 block 2023-07-09 21:03:35 +08:00
艾竹
49b95ba881 连线bug 2023-07-08 18:57:01 +08:00
艾竹
88a315c3f0 修改空间名称 2023-07-08 18:00:14 +08:00
艾竹
0fbfb485a7 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-07-08 17:23:25 +08:00
艾竹
6710d0f48d block 2023-07-08 17:22:55 +08:00
艾竹
a71e15d778 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-08 07:49:50 +00:00
艾竹
4b82ca7c49 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-08 07:46:47 +00:00
kwai
0ef78d917e Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-07-03 16:37:55 +08:00
艾竹
cb40c941cd update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-07-02 04:22:57 +00:00
艾竹
7b4d9db7bb block 2023-07-02 12:19:08 +08:00
艾竹
b476fd4eb5 block 2023-07-02 11:23:00 +08:00
艾竹
be7a99e651 Block图鉴 2023-07-01 21:38:23 +08:00
kwai
953a7bd9aa block 2023-06-29 20:00:44 +08:00
kwai
bfb6d163c4 block 2023-06-29 19:58:57 +08:00
艾竹
5b79ee6010 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 01:10:32 +00:00
艾竹
4d097b4e05 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 01:06:50 +00:00
艾竹
8dd882390b update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 01:05:30 +00:00
艾竹
7a4ba0c1f7 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 01:00:46 +00:00
艾竹
2cc55cb1c0 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 00:59:48 +00:00
艾竹
4f8243184c update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 00:46:56 +00:00
艾竹
89c7da0811 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 00:45:15 +00:00
艾竹
a1e2ff3f74 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-06-29 00:44:31 +00:00
艾竹
3ec68b7b63 整理代码 2023-06-28 22:11:24 +08:00
kwai
e20d1f7e59 block 2023-06-28 12:08:16 +08:00
kwai
1f20aad2c7 block 2023-06-28 12:06:58 +08:00
艾竹
a4ea9f334e block 2023-06-27 22:57:17 +08:00
艾竹
d2e00c6149 block 2023-06-27 22:57:08 +08:00
kwai
6995fe1476 block 2023-06-27 19:58:08 +08:00
fan.yaying
4968bbb5e7 增加自定义 DesignerItemView 样式 2023-06-27 10:57:16 +08:00
艾竹
ace3d631f5 block 2023-06-26 22:50:08 +08:00
kwai
7f857c3464 代码整理 2023-06-26 16:45:48 +08:00
kwai
82500f86a6 block 2023-06-20 13:46:26 +08:00
kwai
4870a2fd0e 小小整理下 2023-06-19 15:47:39 +08:00
艾竹
b946c2df93 block 2023-06-18 18:43:48 +08:00
艾竹
af1cacc846 block 2023-06-18 16:21:18 +08:00
艾竹
0b0f81faac block 2023-06-17 23:55:54 +08:00
艾竹
56545ece4b init 2023-06-17 09:31:15 +08:00
kwai
bdf7385a39 xx 2023-06-16 19:20:44 +08:00
kwai
56c3aac8e8 xx 2023-06-16 19:03:15 +08:00
艾竹
1dd09a2240 xx 2023-06-15 22:44:12 +08:00
kwai
207523eb16 zz 2023-06-14 19:41:29 +08:00
艾竹
0f7a5b0308 xx 2023-06-13 22:51:59 +08:00
艾竹
efec06f853 xx 2023-06-13 22:51:34 +08:00
kwai
7a0630bbc8 xx 2023-06-13 19:06:51 +08:00
艾竹
78558a305f 删除未完善的项目 2023-06-11 23:59:35 +08:00
艾竹
5a9bcc03f3 Revert "Revert "block 可以拖拽到内部,还有少量问题待解决""
This reverts commit fcd7beb193.
2023-06-11 23:58:22 +08:00
艾竹
fcd7beb193 Revert "block 可以拖拽到内部,还有少量问题待解决"
This reverts commit 538898d238.
2023-06-11 23:57:59 +08:00
艾竹
538898d238 block 可以拖拽到内部,还有少量问题待解决 2023-06-11 23:05:21 +08:00
艾竹
4674b8904b 修复工具栏删除 2023-06-10 16:10:03 +08:00
艾竹
8b8e4741c6 mind不可删除修复 2023-06-05 22:35:36 +08:00
艾竹
01131dde47 页面视图新增缩略图模式 2023-05-27 12:35:44 +08:00
艾竹
b11d39024a 整理了下代码,摸一摸bug 2023-05-21 23:03:28 +08:00
艾竹
fde899cfa9 添加block快,不需要连接线,直接吸附。 2023-05-21 22:06:59 +08:00
艾竹
2fd8321363 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-05-20 19:25:36 +08:00
艾竹
4ae8b383d8 删除一点临时文件 2023-05-20 19:25:19 +08:00
艾竹
e437245ff5 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-20 09:44:54 +00:00
艾竹
1f40f1c75c update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-20 09:29:35 +00:00
艾竹
a22279bec2 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-20 09:28:02 +00:00
艾竹
6427c96c86 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-20 09:26:20 +00:00
艾竹
c6dd5ecafd 完善 2023-05-20 17:22:39 +08:00
艾竹
853551982f Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-05-20 17:22:27 +08:00
艾竹
6a9d31c29d 画图画板示例完事 2023-05-20 17:22:12 +08:00
艾竹
e3de3a6fe7 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-17 14:53:15 +00:00
艾竹
e18d808d49 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-17 14:50:19 +00:00
艾竹
117a500f72 一个小bug 2023-05-17 22:47:51 +08:00
kwai
25f680a960 bug 2023-05-17 08:40:55 +08:00
艾竹
9e8981176a 海龟迷途部分图形 2023-05-16 22:53:11 +08:00
艾竹
65e18759c9 简单画线算法 2023-05-15 22:57:13 +08:00
kwai
19ba2736ab 形状demo 2023-05-15 20:13:42 +08:00
艾竹
d5b712f275 demo 2023-05-14 23:26:22 +08:00
艾竹
da9cdb55c9 程序添加绘图元素,Demo完成一半 2023-05-14 23:26:08 +08:00
艾竹
40f81b7209 选中状态代码整理 2023-05-14 18:02:59 +08:00
艾竹
58359c36d4 绘图形状补充一部分 2023-05-14 15:06:30 +08:00
艾竹
9ade5a0fda Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-05-14 00:31:44 +08:00
艾竹
8003cebf99 画板基础基本完成 2023-05-14 00:31:25 +08:00
艾竹
bc551d2fe9 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-12 06:16:50 +00:00
艾竹
4c642db9b2 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-12 06:16:18 +00:00
艾竹
147a84cf91 xx 2023-05-11 22:37:51 +08:00
kwai
f995722828 DiagramOption LayoutOption 参数整理 2023-05-11 19:14:39 +08:00
kwai
2045c5e45c 准备切换到左侧视图模式 2023-05-11 10:57:08 +08:00
艾竹
adf1ee0805 可擦除完成,需要实现画笔,是不是还得用ink来做比较好 2023-05-10 22:46:39 +08:00
艾竹
f19d6c20ef 修复6.0二维码的bug 2023-05-09 23:22:17 +08:00
kwai
e61b505dd3 橡皮修改 2023-05-09 19:21:48 +08:00
艾竹
c3342ced13 支持画笔及痕迹擦除,为白板做准备 2023-05-07 23:01:38 +08:00
艾竹
4a1d25fdf0 优化画形状 2023-05-05 22:46:53 +08:00
艾竹
940512589c 思维导图修改成回车新增子节点 2023-05-03 23:42:34 +08:00
艾竹
071490f5ee update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 14:14:53 +00:00
艾竹
5c21e97caa update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 14:14:07 +00:00
艾竹
ce69c85b6b update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 14:11:15 +00:00
艾竹
96f10c2cb0 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 14:08:55 +00:00
艾竹
6ab92947a2 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 14:01:21 +00:00
艾竹
88953fe4b6 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 13:56:38 +00:00
艾竹
28af997749 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 13:55:34 +00:00
艾竹
cc65902b02 Image 2023-05-03 21:54:36 +08:00
艾竹
40b935ed03 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 13:54:23 +00:00
艾竹
107c88ff0e update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 13:50:29 +00:00
艾竹
f2580bcdfa Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-05-03 21:48:49 +08:00
艾竹
7e66a5a6a3 Images 2023-05-03 21:48:42 +08:00
艾竹
656722e04c update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-03 13:45:07 +00:00
艾竹
ea2e2f45dd ReadMe的Image移动到文件夹下 2023-05-03 21:44:20 +08:00
艾竹
9902ca2af2 新建 Images 2023-05-03 13:39:58 +00:00
艾竹
c877192b1d 重命名 editor.png.png 为 editor.png 2023-05-03 13:38:14 +00:00
艾竹
10679295c0 小调整 2023-05-03 20:29:12 +08:00
艾竹
07bf962aa4 PortlessLinks Demo调整 2023-05-03 19:02:37 +08:00
艾竹
b9210cb6d9 修复demo中彩色节点的bug 2023-05-03 18:35:01 +08:00
艾竹
c462d110ff 动画支持形状定义demo 2023-05-03 17:14:47 +08:00
艾竹
c135a7f144 删除废弃的两个item 2023-05-03 16:07:02 +08:00
艾竹
6b13f51814 部分连接线完成,另外待连接点红色区域显示。 2023-05-03 16:00:34 +08:00
艾竹
ed22b9daa3 可以把连线从节点上拖下来,并且依附上去。 2023-05-03 13:28:16 +08:00
艾竹
1536e5018d 部分连接线拖拽完成 2023-05-03 09:59:46 +08:00
艾竹
6de36f2473 连线优化1:开始和结束节点。 2023-05-02 17:28:16 +08:00
艾竹
06c3ddde7e 连接点显示 2023-05-02 14:28:51 +08:00
艾竹
f52895a8a8 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-05-02 08:31:17 +08:00
艾竹
a66e9239fe 更新一下dll 2023-05-02 08:31:01 +08:00
艾竹
f73dd637ee update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-01 16:04:01 +00:00
艾竹
36c5b956c3 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-05-01 16:00:33 +00:00
艾竹
6fa78893ee popup支持设置大小 2023-05-01 23:07:19 +08:00
艾竹
508de7a7d9 C# 脚本模块正式发布 2023-05-01 21:40:41 +08:00
艾竹
4a1fc12c52 动画完成 2023-05-01 13:17:26 +08:00
艾竹
48555edbc6 支持动画使用不同的形状 2023-05-01 00:10:55 +08:00
艾竹
4a3f278a97 线条动画支持大小切换 2023-04-29 18:36:50 +08:00
艾竹
f4268b9fc2 为线的动画做扩展准备 2023-04-29 15:29:22 +08:00
艾竹
7d8b19e4e0 Connector 错误处理 2023-04-26 22:53:44 +08:00
艾竹
48314acbd5 连接线 2023-04-25 23:07:25 +08:00
艾竹
aa8ab61e37 调整一下删除拷贝,我也不记得之前为啥这样写了。 2023-04-24 22:43:56 +08:00
艾竹
dea5a5341c !3 connect
Merge pull request !3 from 艾竹/dev
2023-04-24 13:49:47 +00:00
kwai
d38f11e758 connect 2023-04-24 20:10:17 +08:00
艾竹
e5d187d8c8 If 2023-04-23 22:44:15 +08:00
艾竹
1cef64c7c8 开发中的功能注释掉 2023-04-23 21:45:08 +08:00
艾竹
997ccde257 !2 自动合并
Merge pull request !2 from 艾竹/dev
2023-04-23 08:45:25 +00:00
艾竹
fe8ecdfc32 !1 C# retrieving the com class factory 80040154
Merge pull request !1 from 艾竹/master
2023-04-23 08:43:51 +00:00
艾竹
9a39d6caf8 Merge branch 'dev' of gitee.com:akwkevin/aistudio.-wpf.-diagram into master
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-23 08:43:34 +00:00
”Jabin章志朋“
af5ac77496 test zzpaaa 2023-04-23 16:39:37 +08:00
”Jabin章志朋“
ff012a1380 test txt 2023-04-23 16:33:53 +08:00
”Jabin章志朋“
f7f05a002f Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-04-23 16:29:04 +08:00
”Jabin章志朋“
3605ce9223 AIStudio.Wpf.DiagramDesigner的UserControls文件夹下的DiagramControl的201行添加基础图形上下左右按钮控件 2023-04-23 16:25:01 +08:00
艾竹
bd1741b572 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-23 07:52:02 +00:00
”Jabin章志朋“
77932a4175 test git demo 2023-04-23 15:07:31 +08:00
艾竹
13cede06cf 1.1.4 2023-04-22 22:40:41 +08:00
艾竹
5963c2c29f 1.1.1 2023-04-22 21:08:01 +08:00
艾竹
21467e26f5 1.1.1 2023-04-22 21:06:52 +08:00
艾竹
dfc299689a Demos 2023-04-22 12:41:26 +08:00
艾竹
87f31fa79d Demos 2023-04-22 12:41:15 +08:00
艾竹
f8340b5885 添加逻辑节点支持字符串值 2023-04-19 22:26:04 +08:00
艾竹
451df2d5de 控件重名冲突 2023-04-18 22:38:20 +08:00
艾竹
033bebb6bc 支持到6.0 2023-04-16 23:32:55 +08:00
艾竹
81f91f3f35 项目结构调整 2023-04-16 20:11:40 +08:00
艾竹
cbfbf96033 Boundary画线算法,精度导致的问题修复 2023-04-16 14:56:53 +08:00
艾竹
4b8a03afb6 审批序列化 2023-04-16 12:21:51 +08:00
艾竹
5dee3a9907 修复一个sfc的bug 2023-04-16 10:10:12 +08:00
艾竹
f05654309b SFC报错修复 2023-04-15 23:42:36 +08:00
艾竹
488e23ea57 使用设计模式优化一下逻辑图 2023-04-15 23:32:29 +08:00
艾竹
c6bc57140f 查找与替换完成 2023-04-15 21:55:27 +08:00
艾竹
ce2e44fe49 PropertyChanged使用基类的,各个类不在自己定义 2023-04-10 23:08:14 +08:00
艾竹
429d7b1e24 截屏嵌入,查找待优化 2023-04-09 21:48:26 +08:00
艾竹
21009fc383 整理 2023-04-09 18:58:13 +08:00
艾竹
fae7826577 ReDo Undo Item ItemWidth 和 Angle 等工具栏设置完成 2023-04-09 12:38:57 +08:00
艾竹
2ef5b7a1ed 颜色,字体,支持redo undo 2023-04-08 23:38:01 +08:00
艾竹
8ad42aec49 分组,取消分组 ReDo UnDo 整理 2023-04-08 21:48:43 +08:00
艾竹
fa96573cbd 继续整理 2023-04-08 18:08:00 +08:00
艾竹
2edb4ffb14 动画bug修复 2023-04-08 17:28:38 +08:00
艾竹
5e7dd6c5e5 连接线,文本编辑 2023-04-08 14:37:07 +08:00
艾竹
a0485601c1 补充提交 2023-04-08 14:28:51 +08:00
艾竹
78da8f4852 最近精简代码,有些bug,修复 2023-04-08 14:22:12 +08:00
kwai
347488e8e9 xx 2023-04-07 19:21:27 +08:00
艾竹
afea559325 ReDo UnDo 继续 2023-04-06 23:01:18 +08:00
艾竹
e0a26a76d2 整理Redo和Undo命令 2023-04-05 23:40:22 +08:00
艾竹
c513bd0f64 Merge branch 'master' of https://gitee.com/akwkevin/aistudio.-wpf.-diagram 2023-04-05 20:36:23 +08:00
艾竹
5935a58541 mind多个根节点的时候,切换模式的修复 2023-04-05 20:35:10 +08:00
艾竹
eccf798818 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 03:21:59 +00:00
艾竹
f9b9b0fb2d update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 02:59:51 +00:00
艾竹
b3f99f5dfd update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 01:39:15 +00:00
艾竹
0fd8c217f4 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 01:34:15 +00:00
艾竹
3dc7b25d95 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 01:15:37 +00:00
艾竹
b04028c893 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 01:14:51 +00:00
艾竹
88ae871b64 update README.md.
Signed-off-by: 艾竹 <akwkevin@126.com>
2023-04-05 01:12:22 +00:00
艾竹
fccac1da23 几个小bug 2023-04-05 08:57:31 +08:00
艾竹
4c54318b9a bug修复 2023-04-04 22:42:09 +08:00
艾竹
a3fbb2d8ad 序列化bug修复,近期主要修复bug为主 2023-04-02 22:59:22 +08:00
艾竹
7835b422ff 节点导入完成 2023-04-02 21:47:55 +08:00
艾竹
0701f25519 工具栏整理 2023-04-02 12:01:46 +08:00
艾竹
02ebd056b3 xx 2023-03-29 22:55:12 +08:00
艾竹
f80a67ff10 xx 2023-03-29 06:26:16 +08:00
艾竹
ca7abe6fd5 修复一个大bug 2023-03-29 06:26:00 +08:00
艾竹
b4d7f13111 offset修复一半 2023-03-28 23:16:56 +08:00
艾竹
72da084f15 xx 2023-03-28 22:09:24 +08:00
艾竹
43b5d82fae do redo 2023-03-26 23:23:34 +08:00
艾竹
90e94a7ec0 修改内部使用方法,不需要使用页面绑定的命令 2023-03-25 22:29:02 +08:00
艾竹
5e5da021ab mind的拷贝完成 2023-03-25 22:10:49 +08:00
艾竹
b36bd4b228 XX 2023-03-25 11:59:31 +08:00
艾竹
8a2c742ec4 xx 2023-03-24 22:32:42 +08:00
艾竹
5ff4376674 附加信息序列化 2023-03-21 23:08:12 +08:00
艾竹
3c8120aa15 mind集成到diagram app中 2023-03-20 23:01:38 +08:00
kwai
2c6b3cc285 主题还得完善下 2023-03-20 20:23:20 +08:00
艾竹
07ac28965e mind基本完成,准备写文档 2023-03-19 23:26:14 +08:00
艾竹
c2f4d3c706 mind 工具栏 2023-03-19 12:38:08 +08:00
艾竹
8d87f61c07 mind 2023-03-18 22:50:00 +08:00
艾竹
9b3c2633a7 mind 2023-03-18 21:44:58 +08:00
艾竹
d97938cc2b link 2023-03-15 23:05:41 +08:00
kwai
70dac7d41c xx 2023-03-15 19:35:53 +08:00
艾竹
035a725da3 priority 2023-03-13 22:27:00 +08:00
kwai
31872222bc 附加信息准备中 2023-03-13 19:44:30 +08:00
艾竹
414eb28867 工具栏调整下 2023-03-12 23:26:22 +08:00
艾竹
f22d6dd3f1 适应窗口大小完成 2023-03-12 22:47:45 +08:00
艾竹
e2753b0bff 右键拖动画布 2023-03-12 15:26:58 +08:00
艾竹
fb7858fe74 可以切换主题 2023-03-11 22:27:23 +08:00
艾竹
84f413320f 暂存一下 2023-03-11 12:40:44 +08:00
艾竹
5cfb32bb19 mind 工具栏 2023-03-11 10:19:21 +08:00
艾竹
b3c7e1efec mind 2023-03-10 12:09:13 +08:00
艾竹
e4f6335224 mind序列化完善中 2023-03-08 23:02:50 +08:00
kwai
c80923d19c mind 2023-03-08 19:45:07 +08:00
艾竹
f48838f54a Mind 2023-03-07 22:59:27 +08:00
kwai
f042f95ee0 xx 2023-03-07 19:25:19 +08:00
kwai
152c6a8c22 xx 2023-03-06 11:54:41 +08:00
艾竹
cd20abd7fe 可以切换MindType 2023-03-05 23:22:34 +08:00
艾竹
79f4896fbd Mind Editoe 2023-03-05 21:30:53 +08:00
kwai
9061146139 tool 2023-03-03 18:59:02 +08:00
kwai
9966656269 mind 2023-03-01 19:28:06 +08:00
艾竹
84d4035e6d 分离完成 AIStudio.Wpf.DiagramModels 用于对接三分软件的模型 2023-02-28 23:04:16 +08:00
艾竹
a015f9208b Mind准备序列化,准备分离出model库 2023-02-28 22:07:40 +08:00
kwai
511636ebd7 fishbone 2023-02-28 18:53:34 +08:00
艾竹
73176a00d9 这个线有点偏差 2023-02-27 23:18:31 +08:00
kwai
6464cad46e xx 2023-02-27 20:19:08 +08:00
kwai
f8c2115f03 xx 2023-02-27 20:18:58 +08:00
艾竹
298ec29dd9 写不动了,休息。 2023-02-22 23:01:22 +08:00
kwai
3a744ecaf7 xx 2023-02-22 19:50:00 +08:00
艾竹
6d1f2a83fa 调试中 2023-02-21 23:23:03 +08:00
kwai
c227076076 结构调整 2023-02-21 19:47:46 +08:00
艾竹
71ed33f881 mind继续 2023-02-20 23:01:26 +08:00
艾竹
58c18db12f 添加附加信息 2023-02-19 23:20:02 +08:00
艾竹
c053396fa0 mind 两个布局完成 2023-02-19 22:56:47 +08:00
艾竹
ca1ac13a1f mind 有点样子了 2023-02-19 21:38:28 +08:00
艾竹
08a4fddfdc 嗯,自动获取曲线方向 2023-02-16 23:02:43 +08:00
kwai
968adb0635 mind 进行中 2023-02-16 19:21:37 +08:00
艾竹
debd7e711d 内部基础ZoomBox 2023-02-14 22:54:55 +08:00
艾竹
3ef7434f5b ZoomBox 完成 2023-02-14 22:15:19 +08:00
艾竹
38cb0fae85 暂存一下 2023-02-14 21:55:42 +08:00
kwai
d6e84d40c0 临时提交 2023-02-14 18:58:26 +08:00
艾竹
dfe76438c2 ZoomBox待完成,还需要调整 2023-02-13 22:50:50 +08:00
2593 changed files with 40908 additions and 18173 deletions

View File

@@ -1,15 +1,15 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31727.386
# Visual Studio Version 17
VisualStudioVersion = 17.4.33205.214
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Flowchart", "AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj", "{86ED5B40-D185-4AFA-B5BD-BC8E78DB8758}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Flowchart", "Extensions\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj", "{86ED5B40-D185-4AFA-B5BD-BC8E78DB8758}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Logical", "AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj", "{CC68D39D-7935-4079-9CEB-FC2FD498D511}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Logical", "Extensions\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj", "{CC68D39D-7935-4079-9CEB-FC2FD498D511}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{4959F170-02FB-4B7F-8F53-93DAF22713F9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.SFC", "AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj", "{2AB69067-277E-4EE0-9949-8326A145EEE4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.SFC", "Extensions\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj", "{2AB69067-277E-4EE0-9949-8326A145EEE4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramApp", "AIStudio.Wpf.DiagramApp\AIStudio.Wpf.DiagramApp.csproj", "{4408F718-9C14-4404-A63B-9B785F9D4F35}"
EndProject
@@ -21,13 +21,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "解决方案项", "解决
Directory.Build.Props = Directory.Build.Props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramDesigner.Demo", "AIStudio.Wpf.DiagramDesigner.Demo\AIStudio.Wpf.DiagramDesigner.Demo.csproj", "{D0467F47-D782-4A84-9AAE-E4A014913AA6}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2BE1891E-16C9-4191-998A-45AEEEEA1F0D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramDesigner.Additionals", "AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj", "{186F34AC-4BC5-40E1-911B-DD3E96AECE6E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AIStudio.Wpf.Mind", "AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj", "{85C437B9-16D2-4076-ABCD-52029AC232FC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Mind", "Extensions\AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj", "{85C437B9-16D2-4076-ABCD-52029AC232FC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramDesigner.Serializable", "AIStudio.Wpf.DiagramDesigner.Serializable\AIStudio.Wpf.DiagramDesigner.Serializable.csproj", "{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Demos", "Demos", "{62DC8608-D98F-47BB-9F19-ABB0C60B72FF}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.DiagramDesigner.Demo", "Demos\AIStudio.Wpf.DiagramDesigner.Demo\AIStudio.Wpf.DiagramDesigner.Demo.csproj", "{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Script", "Extensions\AIStudio.Wpf.Script\AIStudio.Wpf.Script.csproj", "{27A4C86D-3792-4D14-BAEE-3B103A709872}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AIStudio.Wpf.Block", "Extensions\AIStudio.Wpf.Block\AIStudio.Wpf.Block.csproj", "{C7031E27-57A9-498E-95EE-9C3E7DCCA642}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -55,10 +63,6 @@ Global
{EA1D893D-2F50-47AA-80A6-EA297F651CCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA1D893D-2F50-47AA-80A6-EA297F651CCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA1D893D-2F50-47AA-80A6-EA297F651CCC}.Release|Any CPU.Build.0 = Release|Any CPU
{D0467F47-D782-4A84-9AAE-E4A014913AA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0467F47-D782-4A84-9AAE-E4A014913AA6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0467F47-D782-4A84-9AAE-E4A014913AA6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0467F47-D782-4A84-9AAE-E4A014913AA6}.Release|Any CPU.Build.0 = Release|Any CPU
{186F34AC-4BC5-40E1-911B-DD3E96AECE6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{186F34AC-4BC5-40E1-911B-DD3E96AECE6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{186F34AC-4BC5-40E1-911B-DD3E96AECE6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -67,6 +71,22 @@ Global
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{85C437B9-16D2-4076-ABCD-52029AC232FC}.Release|Any CPU.Build.0 = Release|Any CPU
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{439D0631-D9C2-4D36-BFCE-80DFCCABE9E7}.Release|Any CPU.Build.0 = Release|Any CPU
{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6}.Release|Any CPU.Build.0 = Release|Any CPU
{27A4C86D-3792-4D14-BAEE-3B103A709872}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{27A4C86D-3792-4D14-BAEE-3B103A709872}.Debug|Any CPU.Build.0 = Debug|Any CPU
{27A4C86D-3792-4D14-BAEE-3B103A709872}.Release|Any CPU.ActiveCfg = Release|Any CPU
{27A4C86D-3792-4D14-BAEE-3B103A709872}.Release|Any CPU.Build.0 = Release|Any CPU
{C7031E27-57A9-498E-95EE-9C3E7DCCA642}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C7031E27-57A9-498E-95EE-9C3E7DCCA642}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C7031E27-57A9-498E-95EE-9C3E7DCCA642}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C7031E27-57A9-498E-95EE-9C3E7DCCA642}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -76,6 +96,9 @@ Global
{CC68D39D-7935-4079-9CEB-FC2FD498D511} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
{2AB69067-277E-4EE0-9949-8326A145EEE4} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
{85C437B9-16D2-4076-ABCD-52029AC232FC} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
{FCFC5ABF-8459-4B45-ABA0-9B820C7ED5C6} = {62DC8608-D98F-47BB-9F19-ABB0C60B72FF}
{27A4C86D-3792-4D14-BAEE-3B103A709872} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
{C7031E27-57A9-498E-95EE-9C3E7DCCA642} = {4959F170-02FB-4B7F-8F53-93DAF22713F9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D30FC641-F06C-4E35-AEA5-48A9B6E59CE0}

View File

@@ -109,6 +109,12 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.ColorPicker" Version="1.1.2" />
<PackageReference Include="AIStudio.Wpf.ComeCapture" Version="1.1.0" />
<PackageReference Include="Costura.Fody" Version="5.7.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Dragablz" Version="0.0.3.223" />
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="gong-wpf-dragdrop" Version="2.3.2" />
@@ -121,11 +127,50 @@
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Serializable\AIStudio.Wpf.DiagramDesigner.Serializable.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Block\AIStudio.Wpf.Block.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Script\AIStudio.Wpf.Script.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0-windows'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net5.0-windows\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net6.0-windows\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="AIStudio.Wpf.Script.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Script\Dlls\net461\AIStudio.Wpf.Script.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0-windows'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net5.0-windows\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net6.0-windows\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
<Reference Include="AIStudio.Wpf.Block.Core">
<HintPath>..\Extensions\AIStudio.Wpf.Block\Dlls\net461\AIStudio.Wpf.Block.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@@ -232,6 +277,9 @@
</ItemGroup>
<ItemGroup>
<None Update="Images\Gifs\car_chase.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Images\Svgs\account-book.svg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

File diff suppressed because it is too large Load Diff

View File

@@ -110,6 +110,11 @@
<ItemGroup>
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.ComeCapture" Version="1.1.0" />
<PackageReference Include="Costura.Fody" Version="5.7.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Dragablz" Version="0.0.3.223" />
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="gong-wpf-dragdrop" Version="2.3.2" />
@@ -120,22 +125,28 @@
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Serializable\AIStudio.Wpf.DiagramDesigner.Serializable.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramHelper\AIStudio.Wpf.DiagramHelper.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Logical\AIStudio.Wpf.Logical.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Mind\AIStudio.Wpf.Mind.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.Script\AIStudio.Wpf.Script.csproj" />
<ProjectReference Include="..\Extensions\AIStudio.Wpf.SFC\AIStudio.Wpf.SFC.csproj" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0-windows'">
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0-windows'">
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' == 'net461'">
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Update="DesignItems\Customs\1.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Images\Svgs\account-book.svg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
@@ -789,17 +800,23 @@
</VisualStudio>
</ProjectExtensions>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramHelper\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramHelper.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\netcoreapp3.1\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Logical\bin\Debug\netcoreapp3.1\AIStudio.Wpf.Logical.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.SFC\bin\Debug\netcoreapp3.1\AIStudio.Wpf.SFC.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\netcoreapp3.1\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Accessibility.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.comecapture\1.1.0\lib\net5.0-windows7.0\AIStudio.Wpf.ComeCapture.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\net6.0-windows\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net6.0-windows\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Serializable\bin\Debug\net6.0-windows\AIStudio.Wpf.DiagramDesigner.Serializable.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Flowchart\bin\Debug\net6.0-windows\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Logical\bin\Debug\net6.0-windows\AIStudio.Wpf.Logical.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Mind\bin\Debug\net6.0-windows\AIStudio.Wpf.Mind.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Script\Dlls\net6.0-windows\AIStudio.Wpf.Script.Core.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Script\bin\Debug\net6.0-windows\AIStudio.Wpf.Script.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.SFC\bin\Debug\net6.0-windows\AIStudio.Wpf.SFC.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net5.0-windows7.0\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\dragablz\0.0.3.223\lib\netcoreapp3.0\Dragablz.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\gong-wpf-dragdrop\2.3.2\lib\netcoreapp3.1\GongSolutions.WPF.DragDrop.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\avalonedit\6.1.2.30\lib\net5.0-windows7.0\ICSharpCode.AvalonEdit.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\log4net\2.0.12\lib\netstandard2.0\log4net.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BoxIcons.dll" />
@@ -833,219 +850,244 @@
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mathparser.org-mxparser\4.4.2\lib\netcoreapp31\MathParser.org-mXparser.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.bcl.asyncinterfaces\5.0.0\lib\netstandard2.1\Microsoft.Bcl.AsyncInterfaces.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.csharp\4.5.0\lib\netcoreapp3.1\Microsoft.CodeAnalysis.CSharp.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.csharp.scripting\4.5.0\lib\netcoreapp3.1\Microsoft.CodeAnalysis.CSharp.Scripting.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.common\4.5.0\lib\netcoreapp3.1\Microsoft.CodeAnalysis.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.scripting.common\4.5.0\lib\netcoreapp3.1\Microsoft.CodeAnalysis.Scripting.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.extensions.objectpool\5.0.10\lib\net5.0\Microsoft.Extensions.ObjectPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\net5.0-windows7.0\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.text.json\4.7.2\lib\netcoreapp3.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Buffers.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\net6.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Formats.Asn1.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\net6.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Http.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\net5.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.OpenSsl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.servicemodel.primitives\4.10.2\ref\net6.0\System.ServiceModel.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.servicemodel.primitives\4.10.2\ref\net6.0\System.ServiceModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramHelper\DLL\zxing.core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\net6.0\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\Views\AboutControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\Views\AboutWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\Views\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\Views\PropertyControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\Views\ToolBoxControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\Views\AboutControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\Views\AboutWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\Views\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\Views\PropertyControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\Views\ToolBoxControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\AIStudio.Wpf.DiagramApp_Content.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramApp\obj\Debug\net6.0-windows\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.101\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.101\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\Gu.Roslyn.Extensions.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\WpfAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\analyzers/dotnet/System.Windows.Forms.Analyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\analyzers/dotnet/cs/System.Windows.Forms.Analyzers.CSharp.dll" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -8,11 +8,16 @@
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Fluent;component/Themes/Generic.xaml" />
<ResourceDictionary Source="pack://application:,,,/Dragablz;component/Themes/Generic.xaml" />
<ResourceDictionary Source="/AIStudio.Wpf.DiagramApp;component/Themes/Generic.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.DiagramApp;component/Themes/Generic.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Flowchart;component/Themes/FlowNode.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Logical;component/Themes/LogicalGateItemViewModel.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.SFC;component/Themes/SFCNode.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Mind;component/Themes/MindNode.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Mind;component/Themes/Generic.xaml"/>
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script.Core;component/Themes/RoslynScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script;component/Themes/ColorBoxFactoryScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Script;component/Themes/ColorBoxCollectorScriptViewModel.xaml" />
<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Block.Core;component/Themes/BlockItemViewModel.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>

View File

@@ -0,0 +1,3 @@
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
<Costura />
</Weavers>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. -->
<xs:element name="Weavers">
<xs:complexType>
<xs:all>
<xs:element name="Costura" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeReferences" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls if runtime assemblies are also embedded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="UseRuntimeReferencePaths" type="xs:boolean">
<xs:annotation>
<xs:documentation>Controls whether the runtime assemblies are embedded with their full path or only with their assembly name.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisableCleanup" type="xs:boolean">
<xs:annotation>
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
<xs:annotation>
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ExcludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="IncludeRuntimeAssemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
<xs:annotation>
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="PreloadOrder" type="xs:string">
<xs:annotation>
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="VerifyAssembly" type="xs:boolean">
<xs:annotation>
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="VerifyIgnoreCodes" type="xs:string">
<xs:annotation>
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="GenerateXsd" type="xs:boolean">
<xs:annotation>
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>

View File

Before

Width:  |  Height:  |  Size: 4.5 MiB

After

Width:  |  Height:  |  Size: 4.5 MiB

View File

@@ -14,7 +14,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
{
public class PathToolBoxData : ToolBoxData
{
public PathToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(null, icon, type, width, height, desiredSize, description)
public PathToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(null, icon, type, width, height, desiredSize, desiredMinSize, description)
{
ColorViewModel.FillColor.Color = Colors.Orange;
}
@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
public class TextToolBoxData : ToolBoxData
{
public TextToolBoxData(string text, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(text, null, type, width, height, desiredSize, description)
public TextToolBoxData(string text, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(text, null, type, width, height, desiredSize, desiredMinSize, description)
{
ColorViewModel.FillColor.Color = Colors.Orange;
}
@@ -32,7 +32,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
public class EllipseTextToolBoxData : ToolBoxData
{
public EllipseTextToolBoxData(string text, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(text, null, type, width, height, desiredSize, description)
public EllipseTextToolBoxData(string text, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(text, null, type, width, height, desiredSize, desiredMinSize, description)
{
ColorViewModel.FillColor.Color = Colors.Orange;
}
@@ -41,7 +41,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
public class ImageToolBoxData : ToolBoxData
{
public ImageToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(null, icon, type, width, height, desiredSize, description)
public ImageToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(null, icon, type, width, height, desiredSize, desiredMinSize, description)
{
}
@@ -57,7 +57,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
{
get; set;
}
public DesignerItemToolBoxData(DesignerItemBase designerItemBase, string filename, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(null, null, type, width, height, desiredSize, description)
public DesignerItemToolBoxData(DesignerItemBase designerItemBase, string filename, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(null, null, type, width, height, desiredSize, desiredMinSize, description)
{
Addition = designerItemBase;
DesignerItemViewModel = Activator.CreateInstance(type, null, designerItemBase) as DesignerItemViewModelBase;
@@ -84,7 +84,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
{
get; set;
}
public MultipleDesignerItemToolBoxData(SerializableObject designerItemBase, string filename, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(null, null, typeof(List<SelectableDesignerItemViewModelBase>), width, height, desiredSize, description)
public MultipleDesignerItemToolBoxData(SerializableObject designerItemBase, string filename, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(null, null, typeof(List<SelectableDesignerItemViewModelBase>), width, height, desiredSize, desiredMinSize, description)
{
SelectableDesignerItemViewModels = designerItemBase.ToObject();
@@ -111,7 +111,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
public class SvgToolBoxData : ToolBoxData
{
public SvgToolBoxData(string filename, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(null, filename, type, width, height, desiredSize, description)
public SvgToolBoxData(string filename, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(null, filename, type, width, height, desiredSize, desiredMinSize, description)
{
ColorViewModel.FillColor.Color = Colors.Blue;
}
@@ -119,7 +119,7 @@ namespace AIStudio.Wpf.DiagramApp.Models
public class MediaToolBoxData : ToolBoxData
{
public MediaToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, string description = null) : base(icon, null, type, width, height, desiredSize, description)
public MediaToolBoxData(string icon, Type type, double width = 32, double height = 32, Size? desiredSize = null, Size? desiredMinSize = null, string description = null) : base(icon, null, type, width, height, desiredSize, desiredMinSize, description)
{
}

View File

@@ -283,7 +283,7 @@
</Setter>
</Style>
<Style x:Key="DefaultAnimationExpander"
<Style x:Key="AIStudio.DiagramApp.Styles.Expander"
TargetType="{x:Type Expander}">
<Setter Property="Padding"
Value="5" />
@@ -538,7 +538,7 @@
</Setter>
</Style>
<Style x:Key="DefaultAutoHideExpander" TargetType="{x:Type Expander}">
<Style x:Key="AIStudio.DiagramApp.Styles.Expander.AutoHide" TargetType="{x:Type Expander}">
<Setter Property="Padding"
Value="0" />
<Setter Property="SnapsToDevicePixels"

View File

@@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="DefaultListBoxItem" TargetType="{x:Type ListBoxItem}">
<Style x:Key="AIStudio.DiagramApp.Styles.ListBoxItem" TargetType="{x:Type ListBoxItem}">
<Setter Property="Foreground" Value="{DynamicResource Fluent.Ribbon.Brushes.LabelTextBrush}" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Center" />
@@ -35,11 +35,11 @@
</Setter>
</Style>
<Style x:Key="DefaultListBox" TargetType="{x:Type ListBox}">
<Style x:Key="AIStudio.DiagramApp.Styles.ListBox" TargetType="{x:Type ListBox}">
<Setter Property="BorderBrush" Value="{DynamicResource Fluent.Ribbon.Brushes.Control.BorderBrush}" />
<Setter Property="Background" Value="{DynamicResource WhiteBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="ItemContainerStyle" Value="{StaticResource DefaultListBoxItem}"></Setter>
<Setter Property="ItemContainerStyle" Value="{StaticResource AIStudio.DiagramApp.Styles.ListBoxItem}"></Setter>
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="False"></Setter>
<Setter Property="Template">

View File

@@ -464,7 +464,7 @@
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="DefaultSlider" TargetType="{x:Type Slider}">
<Style x:Key="AIStudio.DiagramApp.Styles.Slider" TargetType="{x:Type Slider}">
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
<Setter Property="Background" Value="{x:Null}"/>
<Setter Property="BorderBrush" Value="Transparent"/>
@@ -480,7 +480,7 @@
</Style.Triggers>
</Style>
<Style x:Key="DiscreteSlider" TargetType="{x:Type Slider}">
<Style x:Key="AIStudio.DiagramApp.Styles.Slider.Discrete" TargetType="{x:Type Slider}">
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
<Setter Property="Background" Value="{x:Null}"/>
<Setter Property="BorderBrush" Value="Transparent"/>
@@ -542,7 +542,7 @@
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="TransparentSlider" BasedOn="{StaticResource DefaultSlider}" TargetType="{x:Type Slider}">
<Style x:Key="AIStudio.DiagramApp.Styles.Slider.Transparent" BasedOn="{StaticResource AIStudio.DiagramApp.Styles.Slider}" TargetType="{x:Type Slider}">
<Setter Property="IsSelectionRangeEnabled" Value="False"/>
<Setter Property="Template" Value="{StaticResource TransparentSliderHorizontal}"/>
</Style>

View File

@@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="TabControlStyle" TargetType="{x:Type TabControl}">
<Setter Property="ItemContainerStyle" Value="{DynamicResource TabItemStyle}"/>
<Style x:Key="AIStudio.DiagramApp.Styles.TabControl" TargetType="{x:Type TabControl}">
<Setter Property="ItemContainerStyle" Value="{DynamicResource AIStudio.DiagramApp.Styles.TabItem}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
@@ -23,11 +23,11 @@
</ControlTemplate>
</Setter.Value>
</Setter>
</Setter>
</Style>
<!--TabControl-->
<Style x:Key="TabItemStyle" TargetType="TabItem">
<Style x:Key="AIStudio.DiagramApp.Styles.TabItem" TargetType="TabItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
@@ -66,7 +66,7 @@
</Setter>
</Style>
<Style x:Key="UniformTabControlStyle" TargetType="{x:Type TabControl}">
<Style x:Key="AIStudio.DiagramApp.Styles.TabControl.Uniform" TargetType="{x:Type TabControl}">
<Setter Property="Padding" Value="2"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
@@ -74,7 +74,7 @@
<Setter Property="BorderBrush" Value="#FFACACAC"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="ItemContainerStyle" Value="{DynamicResource UniformTabItemStyle}"/>
<Setter Property="ItemContainerStyle" Value="{DynamicResource AIStudio.DiagramApp.Styles.TabItem.Uniform}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
@@ -132,7 +132,7 @@
</Setter>
</Style>
<Style x:Key="UniformTabItemStyle" TargetType="{x:Type TabItem}">
<Style x:Key="AIStudio.DiagramApp.Styles.TabItem.Uniform" TargetType="{x:Type TabItem}">
<Setter Property="Foreground" Value="{DynamicResource Fluent.Ribbon.Brushes.LabelTextBrush}"/>
<Setter Property="Background" Value="{DynamicResource GrayBrush8}"/>
<Setter Property="BorderBrush" Value="{DynamicResource Fluent.Ribbon.Brushes.Control.BorderBrush}"/>
@@ -143,7 +143,13 @@
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border x:Name="templateRoot" SnapsToDevicePixels="True" Background="{TemplateBinding Background}">
<TextBlock x:Name="txt" Visibility="Visible" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{TemplateBinding Header}" ToolTip="{TemplateBinding Header}" Foreground="{TemplateBinding Foreground}" TextTrimming="CharacterEllipsis" />
<ContentPresenter x:Name="contentPresenter"
ContentSource="Header"
TextElement.Foreground="{TemplateBinding Foreground}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Focusable="False"
RecognizesAccessKey="True"/>
</Border>
<ControlTemplate.Triggers>
<MultiDataTrigger>
@@ -196,7 +202,7 @@
</Setter>
</Style>
<Style x:Key="TabControlWithUnderLineStyle" TargetType="{x:Type TabControl}">
<Style x:Key="AIStudio.DiagramApp.Styles.TabControl.UnderLine" TargetType="{x:Type TabControl}">
<Setter Property="Padding" Value="2"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
@@ -204,7 +210,7 @@
<Setter Property="BorderBrush" Value="{DynamicResource Fluent.Ribbon.Brushes.Control.BorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
<Setter Property="ItemContainerStyle" Value="{DynamicResource TabItemExWithUnderLineStyle}"/>
<Setter Property="ItemContainerStyle" Value="{DynamicResource AIStudio.DiagramApp.Styles.TabItem.UnderLine}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
@@ -259,7 +265,7 @@
</Setter>
</Style>
<Style x:Key="TabItemExWithUnderLineStyle" TargetType="{x:Type TabItem}">
<Style x:Key="AIStudio.DiagramApp.Styles.TabItem.UnderLine" TargetType="{x:Type TabItem}">
<Setter Property="Foreground" Value="{DynamicResource WhiteBrush}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{DynamicResource Fluent.Ribbon.Brushes.Control.BorderBrush}"/>

View File

@@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type ToggleButton}" x:Key="DefaultToggleButton">
<Style TargetType="{x:Type ToggleButton}" x:Key="AIStudio.DiagramApp.Styles.ToggleButton">
<Setter Property="Foreground" Value="{DynamicResource BlackBrush}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Template">
@@ -30,14 +30,14 @@
</Setter>
</Style>
<Style TargetType="{x:Type ToggleButton}" x:Key="ExpanderToggleButton">
<Style TargetType="{x:Type ToggleButton}" x:Key="AIStudio.DiagramApp.Styles.ToggleButton.Expander">
<Setter Property="Foreground" Value="{DynamicResource BlackBrush}" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Grid x:Name="Grid" Margin="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
<Path x:Name="Path" Fill="{TemplateBinding Foreground}" Stretch="Fill" Width="18" Height="18" Margin="8" Data="M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"/>
<Path x:Name="Path" Fill="{TemplateBinding Foreground}" Stretch="Fill" Width="16" Height="16" Margin="10,3" Data="M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"/>
</Grid>
<!--z触发器-->
<ControlTemplate.Triggers>

View File

@@ -0,0 +1,257 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using AIStudio.Wpf.Block;
using AIStudio.Wpf.Block.Core.ViewModels;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
internal class BlockViewModel : PageViewModel
{
public BlockViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public BlockViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.PageSizeOrientation = PageSizeOrientation.Horizontal;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false;
}
protected override void Init(bool initNew)
{
base.Init(initNew);
#region
//运动
BlockDesignerItemViewModel MoveNode = new MoveNode(DiagramViewModel) { Name = nameof(MoveNode), Left = 28, Top = 28 };
DiagramViewModel.Add(MoveNode);
BlockDesignerItemViewModel TurnRightNode = new TurnRightNode(DiagramViewModel) { Name = nameof(TurnRightNode), Left = 28, Top = 68 };
DiagramViewModel.Add(TurnRightNode);
BlockDesignerItemViewModel TurnLeftNode = new TurnLeftNode(DiagramViewModel) { Name = nameof(TurnLeftNode), Left = 28, Top = 108 };
DiagramViewModel.Add(TurnLeftNode);
BlockDesignerItemViewModel MoveToNode = new MoveToNode(DiagramViewModel) { Name = nameof(MoveToNode), Left = 28, Top = 148 };
DiagramViewModel.Add(MoveToNode);
BlockDesignerItemViewModel MoveToPointNode = new MoveToPointNode(DiagramViewModel) { Name = nameof(MoveToPointNode), Left = 28, Top = 188 };
DiagramViewModel.Add(MoveToPointNode);
BlockDesignerItemViewModel TimeMoveToNode = new TimeMoveToNode(DiagramViewModel) { Name = nameof(TimeMoveToNode), Left = 28, Top = 228 };
DiagramViewModel.Add(TimeMoveToNode);
BlockDesignerItemViewModel TimeMoveToPointNode = new TimeMoveToPointNode(DiagramViewModel) { Name = nameof(TimeMoveToPointNode), Left = 28, Top = 268 };
DiagramViewModel.Add(TimeMoveToPointNode);
BlockDesignerItemViewModel FaceToNode = new FaceToNode(DiagramViewModel) { Name = nameof(FaceToNode), Left = 28, Top = 308 };
DiagramViewModel.Add(FaceToNode);
BlockDesignerItemViewModel FaceToMouseNode = new FaceToMouseNode(DiagramViewModel) { Name = nameof(FaceToMouseNode), Left = 28, Top = 348 };
DiagramViewModel.Add(FaceToMouseNode);
BlockDesignerItemViewModel PointXAddNode = new PointXAddNode(DiagramViewModel) { Name = nameof(PointXAddNode), Left = 28, Top = 388 };
DiagramViewModel.Add(PointXAddNode);
BlockDesignerItemViewModel PointXSetNode = new PointXSetNode(DiagramViewModel) { Name = nameof(PointXSetNode), Left = 28, Top = 428 };
DiagramViewModel.Add(PointXSetNode);
BlockDesignerItemViewModel PointYAddNode = new PointYAddNode(DiagramViewModel) { Name = nameof(PointYAddNode), Left = 28, Top = 468 };
DiagramViewModel.Add(PointYAddNode);
BlockDesignerItemViewModel PointYSetNode = new PointYSetNode(DiagramViewModel) { Name = nameof(PointYSetNode), Left = 28, Top = 508 };
DiagramViewModel.Add(PointYSetNode);
BlockDesignerItemViewModel BorderBounceNode = new BorderBounceNode(DiagramViewModel) { Name = nameof(BorderBounceNode), Left = 28, Top = 548 };
DiagramViewModel.Add(BorderBounceNode);
BlockDesignerItemViewModel RotationMethodNode = new RotationMethodNode(DiagramViewModel) { Name = nameof(RotationMethodNode), Left = 28, Top = 588 };
DiagramViewModel.Add(RotationMethodNode);
BlockDesignerItemViewModel PointXNode = new PointXNode(DiagramViewModel) { Name = nameof(PointXNode), Left = 28, Top = 628 };
DiagramViewModel.Add(PointXNode);
BlockDesignerItemViewModel PointYNode = new PointYNode(DiagramViewModel) { Name = nameof(PointYNode), Left = 28, Top = 668 };
DiagramViewModel.Add(PointYNode);
BlockDesignerItemViewModel DirectionNode = new DirectionNode(DiagramViewModel) { Name = nameof(DirectionNode), Left = 28, Top = 708 };
DiagramViewModel.Add(DirectionNode);
BlockDesignerItemViewModel SayTimeNode = new SayTimeNode(DiagramViewModel) { Name = nameof(SayTimeNode), Left = 288, Top = 28 };
DiagramViewModel.Add(SayTimeNode);
BlockDesignerItemViewModel SayNode = new SayNode(DiagramViewModel) { Name = nameof(SayNode), Left = 288, Top = 68 };
DiagramViewModel.Add(SayNode);
BlockDesignerItemViewModel ThinkTimeNode = new ThinkTimeNode(DiagramViewModel) { Name = nameof(ThinkTimeNode), Left = 288, Top = 108 };
DiagramViewModel.Add(ThinkTimeNode);
BlockDesignerItemViewModel ThinkBlockNode = new ThinkBlockNode(DiagramViewModel) { Name = nameof(ThinkBlockNode), Left = 288, Top = 148 };
DiagramViewModel.Add(ThinkBlockNode);
BlockDesignerItemViewModel ChangeLookNode = new ChangeLookNode(DiagramViewModel) { Name = nameof(ChangeLookNode), Left = 288, Top = 188 };
DiagramViewModel.Add(ChangeLookNode);
BlockDesignerItemViewModel NextLookNode = new NextLookNode(DiagramViewModel) { Name = nameof(NextLookNode), Left = 288, Top = 228 };
DiagramViewModel.Add(NextLookNode);
BlockDesignerItemViewModel ChangeBackgroundNode = new ChangeBackgroundNode(DiagramViewModel) { Name = nameof(ChangeBackgroundNode), Left = 288, Top = 268 };
DiagramViewModel.Add(ChangeBackgroundNode);
BlockDesignerItemViewModel NextBackgroundNode = new NextBackgroundNode(DiagramViewModel) { Name = nameof(NextBackgroundNode), Left = 288, Top = 308 };
DiagramViewModel.Add(NextBackgroundNode);
BlockDesignerItemViewModel AddSizeNode = new AddSizeNode(DiagramViewModel) { Name = nameof(AddSizeNode), Left = 288, Top = 348 };
DiagramViewModel.Add(AddSizeNode);
BlockDesignerItemViewModel SetSizeNode = new SetSizeNode(DiagramViewModel) { Name = nameof(SetSizeNode), Left = 288, Top = 388 };
DiagramViewModel.Add(SetSizeNode);
BlockDesignerItemViewModel ClearEffectNode = new ClearEffectNode(DiagramViewModel) { Name = nameof(ClearEffectNode), Left = 288, Top = 428 };
DiagramViewModel.Add(ClearEffectNode);
BlockDesignerItemViewModel ShowEffectNode = new ShowNode(DiagramViewModel) { Name = nameof(ShowNode), Left = 288, Top = 468 };
DiagramViewModel.Add(ShowEffectNode);
BlockDesignerItemViewModel HideEffectNode = new HideNode(DiagramViewModel) { Name = nameof(HideNode), Left = 288, Top = 508 };
DiagramViewModel.Add(HideEffectNode);
BlockDesignerItemViewModel BringToNode = new BringToNode(DiagramViewModel) { Name = nameof(BringToNode), Left = 288, Top = 548 };
DiagramViewModel.Add(BringToNode);
BlockDesignerItemViewModel BringLayerNode = new BringLayerNode(DiagramViewModel) { Name = nameof(BringLayerNode), Left = 288, Top = 588 };
DiagramViewModel.Add(BringLayerNode);
BlockDesignerItemViewModel LookNode = new LookNode(DiagramViewModel) { Name = nameof(LookNode), Left = 288, Top = 628 };
DiagramViewModel.Add(LookNode);
BlockDesignerItemViewModel BackgroundNode = new BackgroundNode(DiagramViewModel) { Name = nameof(BackgroundNode), Left = 288, Top = 668 };
DiagramViewModel.Add(BackgroundNode);
BlockDesignerItemViewModel SizeNode = new SizeNode(DiagramViewModel) { Name = nameof(SizeNode), Left = 288, Top = 708 };
DiagramViewModel.Add(SizeNode);
BlockDesignerItemViewModel PlaySoundCompleteNode = new PlaySoundCompleteNode(DiagramViewModel) { Name = nameof(PlaySoundCompleteNode), Left = 448, Top = 28 };
DiagramViewModel.Add(PlaySoundCompleteNode);
BlockDesignerItemViewModel PlaySoundNode = new PlaySoundNode(DiagramViewModel) { Name = nameof(PlaySoundNode), Left = 448, Top = 68 };
DiagramViewModel.Add(PlaySoundNode);
BlockDesignerItemViewModel StopAllSoundNode = new StopAllSoundNode(DiagramViewModel) { Name = nameof(StopAllSoundNode), Left = 448, Top = 108 };
DiagramViewModel.Add(StopAllSoundNode);
BlockDesignerItemViewModel AddSoundEffectNode = new AddSoundEffectNode(DiagramViewModel) { Name = nameof(AddSoundEffectNode), Left = 448, Top = 148 };
DiagramViewModel.Add(AddSoundEffectNode);
BlockDesignerItemViewModel SetSoundEffectNode = new SetSoundEffectNode(DiagramViewModel) { Name = nameof(SetSoundEffectNode), Left = 448, Top = 188 };
DiagramViewModel.Add(SetSoundEffectNode);
BlockDesignerItemViewModel ClearSoundEffectNode = new ClearSoundEffectNode(DiagramViewModel) { Name = nameof(ClearSoundEffectNode), Left = 448, Top = 228 };
DiagramViewModel.Add(ClearSoundEffectNode);
BlockDesignerItemViewModel AddVolumeNode = new AddVolumeNode(DiagramViewModel) { Name = nameof(AddVolumeNode), Left = 448, Top = 268 };
DiagramViewModel.Add(AddVolumeNode);
BlockDesignerItemViewModel SetVolumeNode = new SetVolumeNode(DiagramViewModel) { Name = nameof(SetVolumeNode), Left = 448, Top = 308 };
DiagramViewModel.Add(SetVolumeNode);
BlockDesignerItemViewModel VolumeNode = new VolumeNode(DiagramViewModel) { Name = nameof(VolumeNode), Left = 448, Top = 348 };
DiagramViewModel.Add(VolumeNode);
BlockDesignerItemViewModel StartNode = new StartNode(DiagramViewModel) { Name = nameof(StartNode), Left = 638, Top = 28 };
DiagramViewModel.Add(StartNode);
BlockDesignerItemViewModel KeyboardPressNode = new KeyboardPressNode(DiagramViewModel) { Name = nameof(KeyboardPressNode), Left = 638, Top = 88 };
DiagramViewModel.Add(KeyboardPressNode);
BlockDesignerItemViewModel WhenRoleClickedNode = new WhenRoleClickedNode(DiagramViewModel) { Name = nameof(WhenRoleClickedNode), Left = 638, Top = 148 };
DiagramViewModel.Add(WhenRoleClickedNode);
BlockDesignerItemViewModel WhenBackgroundSwitchNode = new WhenBackgroundSwitchNode(DiagramViewModel) { Name = nameof(WhenBackgroundSwitchNode), Left = 638, Top = 208 };
DiagramViewModel.Add(WhenBackgroundSwitchNode);
BlockDesignerItemViewModel WhenGreaterThanNode = new WhenGreaterThanNode(DiagramViewModel) { Name = nameof(WhenGreaterThanNode), Left = 638, Top = 268 };
DiagramViewModel.Add(WhenGreaterThanNode);
BlockDesignerItemViewModel WhenReceivedMessageNode = new WhenReceivedMessageNode(DiagramViewModel) { Name = nameof(WhenReceivedMessageNode), Left = 638, Top = 328 };
DiagramViewModel.Add(WhenReceivedMessageNode);
BlockDesignerItemViewModel BroadcastMessageNode = new BroadcastMessageNode(DiagramViewModel) { Name = nameof(BroadcastMessageNode), Left = 638, Top = 388 };
DiagramViewModel.Add(BroadcastMessageNode);
BlockDesignerItemViewModel BroadcastMessageAndWaitingNode = new BroadcastMessageAndWaitingNode(DiagramViewModel) { Name = nameof(BroadcastMessageAndWaitingNode), Left = 638, Top = 448 };
DiagramViewModel.Add(BroadcastMessageAndWaitingNode);
BlockDesignerItemViewModel WaitTimeNode = new WaitTimeNode(DiagramViewModel) { Name = nameof(WaitTimeNode), Left = 788, Top = 28 };
DiagramViewModel.Add(WaitTimeNode);
BlockDesignerItemViewModel ForNode = new ForNode(DiagramViewModel) { Name = nameof(ForNode), Left = 788, Top = 68 };
DiagramViewModel.Add(ForNode);
BlockDesignerItemViewModel AlwaysNode = new AlwaysNode(DiagramViewModel) { Name = nameof(AlwaysNode), Left = 788, Top = 158 };
DiagramViewModel.Add(AlwaysNode);
BlockDesignerItemViewModel IfNode = new IfNode(DiagramViewModel) { Name = nameof(IfNode), Left = 788, Top = 238 };
DiagramViewModel.Add(IfNode);
BlockDesignerItemViewModel IfElseNode = new IfElseNode(DiagramViewModel) { Name = nameof(IfElseNode), Left = 788, Top = 328 };
DiagramViewModel.Add(IfElseNode);
BlockDesignerItemViewModel WaitNode = new WaitNode(DiagramViewModel) { Name = nameof(WaitNode), Left = 788, Top = 458 };
DiagramViewModel.Add(WaitNode);
BlockDesignerItemViewModel WhileNode = new WhileNode(DiagramViewModel) { Name = nameof(WhileNode), Left = 788, Top = 498 };
DiagramViewModel.Add(WhileNode);
BlockDesignerItemViewModel StopNode = new StopNode(DiagramViewModel) { Name = nameof(StopNode), Left = 788, Top = 578 };
DiagramViewModel.Add(StopNode);
BlockDesignerItemViewModel CloneStartNode = new CloneStartNode(DiagramViewModel) { Name = nameof(CloneStartNode), Left = 788, Top = 618 };
DiagramViewModel.Add(CloneStartNode);
BlockDesignerItemViewModel CloneNode = new CloneNode(DiagramViewModel) { Name = nameof(CloneNode), Left = 788, Top = 678 };
DiagramViewModel.Add(CloneNode);
BlockDesignerItemViewModel DeleteThisCloneNode = new DeleteThisCloneNode(DiagramViewModel) { Name = nameof(DeleteThisCloneNode), Left = 788, Top = 718 };
DiagramViewModel.Add(DeleteThisCloneNode);
BlockDesignerItemViewModel HitNode = new HitNode(DiagramViewModel) { Name = nameof(HitNode), Left = 928, Top = 28 };
DiagramViewModel.Add(HitNode);
BlockDesignerItemViewModel HitColorNode = new HitColorNode(DiagramViewModel) { Name = nameof(HitColorNode), Left = 928, Top = 68 };
DiagramViewModel.Add(HitColorNode);
BlockDesignerItemViewModel ColorHitColorNode = new ColorHitColorNode(DiagramViewModel) { Name = nameof(ColorHitColorNode), Left = 928, Top = 108 };
DiagramViewModel.Add(ColorHitColorNode);
BlockDesignerItemViewModel DistanceNode = new DistanceNode(DiagramViewModel) { Name = nameof(DistanceNode), Left = 928, Top = 148 };
DiagramViewModel.Add(DistanceNode);
BlockDesignerItemViewModel AskNode = new AskNode(DiagramViewModel) { Name = nameof(AskNode), Left = 928, Top = 188 };
DiagramViewModel.Add(AskNode);
BlockDesignerItemViewModel AnswerNode = new AnswerNode(DiagramViewModel) { Name = nameof(AnswerNode), Left = 928, Top = 228 };
DiagramViewModel.Add(AnswerNode);
BlockDesignerItemViewModel PressKeyNode = new PressKeyNode(DiagramViewModel) { Name = nameof(PressKeyNode), Left = 928, Top = 268 };
DiagramViewModel.Add(PressKeyNode);
BlockDesignerItemViewModel PressMouseNode = new PressMouseNode(DiagramViewModel) { Name = nameof(PressMouseNode), Left = 928, Top = 308 };
DiagramViewModel.Add(PressMouseNode);
BlockDesignerItemViewModel MousePointXNode = new MousePointXNode(DiagramViewModel) { Name = nameof(MousePointXNode), Left = 928, Top = 348 };
DiagramViewModel.Add(MousePointXNode);
BlockDesignerItemViewModel MousePointYNode = new MousePointYNode(DiagramViewModel) { Name = nameof(MousePointYNode), Left = 928, Top = 388 };
DiagramViewModel.Add(MousePointYNode);
BlockDesignerItemViewModel DragModeNode = new DragModeNode(DiagramViewModel) { Name = nameof(DragModeNode), Left = 928, Top = 428 };
DiagramViewModel.Add(DragModeNode);
BlockDesignerItemViewModel LoudnessNode = new LoudnessNode(DiagramViewModel) { Name = nameof(LoudnessNode), Left = 928, Top = 468 };
DiagramViewModel.Add(LoudnessNode);
BlockDesignerItemViewModel TimerNode = new TimerNode(DiagramViewModel) { Name = nameof(TimerNode), Left = 928, Top = 508 };
DiagramViewModel.Add(TimerNode);
BlockDesignerItemViewModel ClearTimerNode = new ClearTimerNode(DiagramViewModel) { Name = nameof(ClearTimerNode), Left = 928, Top = 548 };
DiagramViewModel.Add(ClearTimerNode);
BlockDesignerItemViewModel StageObjectNode = new StageObjectNode(DiagramViewModel) { Name = nameof(StageObjectNode), Left = 928, Top = 588 };
DiagramViewModel.Add(StageObjectNode);
BlockDesignerItemViewModel NowTimeNode = new NowTimeNode(DiagramViewModel) { Name = nameof(NowTimeNode), Left = 928, Top = 628 };
DiagramViewModel.Add(NowTimeNode);
BlockDesignerItemViewModel DaysFrom2000Node = new DaysFrom2000Node(DiagramViewModel) { Name = nameof(DaysFrom2000Node), Left = 928, Top = 668 };
DiagramViewModel.Add(DaysFrom2000Node);
BlockDesignerItemViewModel UserNameNode = new UserNameNode(DiagramViewModel) { Name = nameof(UserNameNode), Left = 928, Top = 708 };
DiagramViewModel.Add(UserNameNode);
BlockDesignerItemViewModel AddNode = new AddNode(DiagramViewModel) { Name = nameof(AddNode), Left = 1108, Top = 28 };
DiagramViewModel.Add(AddNode);
BlockDesignerItemViewModel SubtractNode = new SubtractNode(DiagramViewModel) { Name = nameof(SubtractNode), Left = 1108, Top = 68 };
DiagramViewModel.Add(SubtractNode);
BlockDesignerItemViewModel MultiplyNode = new MultiplyNode(DiagramViewModel) { Name = nameof(MultiplyNode), Left = 1108, Top = 108 };
DiagramViewModel.Add(MultiplyNode);
BlockDesignerItemViewModel DivisionNode = new DivisionNode(DiagramViewModel) { Name = nameof(DivisionNode), Left = 1108, Top = 148 };
DiagramViewModel.Add(DivisionNode);
BlockDesignerItemViewModel RandomNode = new RandomNode(DiagramViewModel) { Name = nameof(RandomNode), Left = 1108, Top = 188 };
DiagramViewModel.Add(RandomNode);
BlockDesignerItemViewModel GreaterThanNode = new GreaterThanNode(DiagramViewModel) { Name = nameof(GreaterThanNode), Left = 1108, Top = 228 };
DiagramViewModel.Add(GreaterThanNode);
BlockDesignerItemViewModel LessThanNode = new LessThanNode(DiagramViewModel) { Name = nameof(LessThanNode), Left = 1108, Top = 268 };
DiagramViewModel.Add(LessThanNode);
BlockDesignerItemViewModel EqualThanNode = new EqualThanNode(DiagramViewModel) { Name = nameof(EqualThanNode), Left = 1108, Top = 308 };
DiagramViewModel.Add(EqualThanNode);
BlockDesignerItemViewModel AndNode = new AndNode(DiagramViewModel) { Name = nameof(AndNode), Left = 1108, Top = 348 };
DiagramViewModel.Add(AndNode);
BlockDesignerItemViewModel OrNode = new OrNode(DiagramViewModel) { Name = nameof(OrNode), Left = 1108, Top = 388 };
DiagramViewModel.Add(OrNode);
BlockDesignerItemViewModel NotNode = new NotNode(DiagramViewModel) { Name = nameof(NotNode), Left = 1108, Top = 428 };
DiagramViewModel.Add(NotNode);
BlockDesignerItemViewModel StringAddNode = new StringAddNode(DiagramViewModel) { Name = nameof(StringAddNode), Left = 1108, Top = 468 };
DiagramViewModel.Add(StringAddNode);
BlockDesignerItemViewModel StringIndexNode = new StringIndexNode(DiagramViewModel) { Name = nameof(StringIndexNode), Left = 1108, Top = 508 };
DiagramViewModel.Add(StringIndexNode);
BlockDesignerItemViewModel StringContainNode = new StringContainNode(DiagramViewModel) { Name = nameof(StringContainNode), Left = 1108, Top = 548 };
DiagramViewModel.Add(StringContainNode);
BlockDesignerItemViewModel ModNode = new ModNode(DiagramViewModel) { Name = nameof(ModNode), Left = 1108, Top = 588 };
DiagramViewModel.Add(ModNode);
BlockDesignerItemViewModel RoundNode = new RoundNode(DiagramViewModel) { Name = nameof(RoundNode), Left = 1108, Top = 628 };
DiagramViewModel.Add(RoundNode);
BlockDesignerItemViewModel MathNode = new MathNode(DiagramViewModel) { Name = nameof(MathNode), Left = 1108, Top = 668 };
DiagramViewModel.Add(MathNode);
BlockDesignerItemViewModel VariableNode = new VariableNode(DiagramViewModel) { Name = nameof(VariableNode), Left = 1318, Top = 28 };
DiagramViewModel.Add(VariableNode);
BlockDesignerItemViewModel SetVariableNode = new SetVariableNode(DiagramViewModel) { Name = nameof(SetVariableNode), Left = 1318, Top = 68 };
DiagramViewModel.Add(SetVariableNode);
BlockDesignerItemViewModel IncreaseVariableNode = new IncreaseVariableNode(DiagramViewModel) { Name = nameof(IncreaseVariableNode), Left = 1318, Top = 108 };
DiagramViewModel.Add(IncreaseVariableNode);
BlockDesignerItemViewModel ShowVariableNode = new ShowVariableNode(DiagramViewModel) { Name = nameof(ShowVariableNode), Left = 1318, Top = 148 };
DiagramViewModel.Add(ShowVariableNode);
BlockDesignerItemViewModel HiddenVariableNode = new HiddenVariableNode(DiagramViewModel) { Name = nameof(HiddenVariableNode), Left = 1318, Top = 188 };
DiagramViewModel.Add(HiddenVariableNode);
#endregion
}
}
}

View File

@@ -0,0 +1,192 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class DrawingViewModel : PageViewModel
{
public DrawingViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public DrawingViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
foreach (var vm in DiagramViewModels)
{
vm.Init(false);
}
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.AllowDrop = true;
_service.DrawModeViewModel.DrawingDrawModeSelected = true;
_service.DrawModeViewModel.DrawingDrawMode = DrawMode.Select;
}
protected override void Init(bool initNew)
{
base.Init(initNew);
DesignerItemViewModelBase line = new LineDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(38, 38), new Point(118, 118) }, null, true);
DiagramViewModel.Add(line);
DesignerItemViewModelBase rectangle = new RectangleDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(138, 38), new Point(218, 118) }, null, true);
DiagramViewModel.Add(rectangle);
DesignerItemViewModelBase ellipse = new EllipseDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(238, 38), new Point(318, 118) }, null, true);
DiagramViewModel.Add(ellipse);
DesignerItemViewModelBase text = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(338, 38), "以下图形使用路线", null, true);
DiagramViewModel.Add(text);
DesignerItemViewModelBase triangle = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableTriangle, new List<Point> { new Point(438, 38), new Point(518, 118) }, null, true);
DiagramViewModel.Add(triangle);
DesignerItemViewModelBase rhombus = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableRhombus, new List<Point> { new Point(538, 38), new Point(618, 118) }, null, true);
DiagramViewModel.Add(rhombus);
DesignerItemViewModelBase hexagon = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHexagon, new List<Point> { new Point(638, 38), new Point(718, 118) }, null, true);
DiagramViewModel.Add(hexagon);
DesignerItemViewModelBase pentagram = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasablePentagram, new List<Point> { new Point(738, 38), new Point(818, 118) }, null, true);
DiagramViewModel.Add(pentagram);
DesignerItemViewModelBase starFour = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarFour, new List<Point> { new Point(38, 138), new Point(118, 218) }, null, true);
DiagramViewModel.Add(starFour);
DesignerItemViewModelBase starThree = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableStarThree, new List<Point> { new Point(138, 138), new Point(218, 218) }, null, true);
DiagramViewModel.Add(starThree);
DesignerItemViewModelBase chat = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableChat, new List<Point> { new Point(238, 138), new Point(318, 218) }, null, true);
DiagramViewModel.Add(chat);
DesignerItemViewModelBase comment = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableComment, new List<Point> { new Point(338, 138), new Point(418, 218) }, null, true);
DiagramViewModel.Add(comment);
DesignerItemViewModelBase cloud = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCloud, new List<Point> { new Point(438, 138), new Point(518, 218) }, null, true);
DiagramViewModel.Add(cloud);
DesignerItemViewModelBase arrowRight = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowRight, new List<Point> { new Point(538, 138), new Point(618, 218) }, null, true);
DiagramViewModel.Add(arrowRight);
DesignerItemViewModelBase arrowLeft = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableArrowLeft, new List<Point> { new Point(638, 138), new Point(718, 218) }, null, true);
DiagramViewModel.Add(arrowLeft);
DesignerItemViewModelBase check = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableCheck, new List<Point> { new Point(738, 138), new Point(818, 218) }, null, true);
DiagramViewModel.Add(check);
DesignerItemViewModelBase close = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableClose, new List<Point> { new Point(38, 238), new Point(118, 318) }, null, true);
DiagramViewModel.Add(close);
DesignerItemViewModelBase heart = new SharpDrawingDesignerItemViewModel(DiagramViewModel, DrawMode.ErasableHeart, new List<Point> { new Point(138, 238), new Point(218, 318) }, null, true);
DiagramViewModel.Add(heart);
DesignerItemViewModelBase polyline = new PolylineDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(238, 238), new Point(298, 258), new Point(258, 298), new Point(318, 318) }, null, true);
DiagramViewModel.Add(polyline);
DesignerItemViewModelBase polygon = new PolygonDrawingDesignerItemViewModel(DiagramViewModel, new List<Point> { new Point(338, 238), new Point(398, 258), new Point(358, 298), new Point(418, 318) }, null, true);
DiagramViewModel.Add(polygon);
DesignerItemViewModelBase text2 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(438, 238), "以下图形使用画线", null, true);
DiagramViewModel.Add(text2);
//画正方形
var drawingPoint1 = DrawingHelper.GetPoints(new Point(38, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, -90), 4).ToList());
DesignerItemViewModelBase directLine1 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint1, null, true);
DiagramViewModel.Add(directLine1);
//画三角形
var drawingPoint2 = DrawingHelper.GetPoints(new Point(238, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(160, -120), 3).ToList());
DesignerItemViewModelBase directLine2 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint2, null, true);
DiagramViewModel.Add(directLine2);
//画五边形
var drawingPoint3 = DrawingHelper.GetPoints(new Point(478, 518), 0, Enumerable.Repeat(new System.Tuple<double, double>(100, -72), 5).ToList());
DesignerItemViewModelBase directLine3 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint3, null, true);
DiagramViewModel.Add(directLine3);
//画六角形
List<System.Tuple<double, double>> tuple4 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 5; i++)
{
tuple4.Add(new System.Tuple<double, double>(70, 144));
tuple4.Add(new System.Tuple<double, double>(70, -72));
}
var drawingPoint4 = DrawingHelper.GetPoints(new Point(750, 408), 0, tuple4);
DesignerItemViewModelBase directLine4 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint4, null, true);
DiagramViewModel.Add(directLine4);
//画八边形
List<System.Tuple<double, double>> tuple5 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 8; i++)
{
tuple5.Add(new System.Tuple<double, double>(36, -90));
tuple5.Add(new System.Tuple<double, double>(36, 45));
}
var drawingPoint5 = DrawingHelper.GetPoints(new Point(153, 689), 0, tuple5);
DesignerItemViewModelBase directLine5 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint5, null, true);
DiagramViewModel.Add(directLine5);
//画6个正三角形
List<System.Tuple<double, double>> tuple6 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 3; j++)
{
tuple6.Add(new System.Tuple<double, double>(80, -120));
}
tuple6.Add(new System.Tuple<double, double>(0, -60));
}
var drawingPoint6 = DrawingHelper.GetPoints(new Point(328, 628), 0, tuple6);
DesignerItemViewModelBase directLine6 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint6, null, true);
DiagramViewModel.Add(directLine6);
//画6个正六边形
List<System.Tuple<double, double>> tuple7 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
tuple7.Add(new System.Tuple<double, double>(42, -60));
}
tuple7.Add(new System.Tuple<double, double>(0, -60));
}
var drawingPoint7 = DrawingHelper.GetPoints(new Point(528, 628), 0, tuple7);
DesignerItemViewModelBase directLine7 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint7, null, true);
DiagramViewModel.Add(directLine7);
//画8个八角星
List<System.Tuple<double, double>> tuple8 = new List<System.Tuple<double, double>>();
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
tuple8.Add(new System.Tuple<double, double>(20, -90));
tuple8.Add(new System.Tuple<double, double>(20, 45));
}
tuple8.Add(new System.Tuple<double, double>(0, -45));
}
var drawingPoint8 = DrawingHelper.GetPoints(new Point(728, 628), 0, tuple8);
DesignerItemViewModelBase directLine8 = new DirectLineDrawingDesignerItemViewModel(DiagramViewModel, drawingPoint8, null, true);
DiagramViewModel.Add(directLine8);
DesignerItemViewModelBase text3 = new TextDrawingDesignerItemViewModel(DiagramViewModel, new Point(38, 738), "示例完毕欢迎大家来到AIStudio画笔画板", null, true);
DiagramViewModel.Add(text3);
}
public override void Dispose()
{
base.Dispose();
}
}
}

View File

@@ -1,29 +1,25 @@
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramApp.ViewModels;
using AIStudio.Wpf.Flowchart.ViewModels;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Flowchart;
using AIStudio.Wpf.Flowchart.ViewModels;
namespace AIStudio.Wpf.Flowchart
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class FlowchartViewModel : PageViewModel
{
public FlowchartViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public FlowchartViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
if (DiagramViewModel != null)
{
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel, false);
}
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
}
@@ -32,80 +28,99 @@ namespace AIStudio.Wpf.Flowchart
{
base.InitDiagramViewModel();
DiagramViewModel.ShowGrid = true;
DiagramViewModel.GridCellSize = new Size(100, 100);
DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.CellVerticalAlignment = CellVerticalAlignment.Center;
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
}
protected override void Init()
protected override void Init(bool initNew)
{
base.Init();
base.Init(initNew);
DesignerItemViewModelBase start = new StartFlowNode() { Left = 100, Top = 0, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(start);
DesignerItemViewModelBase start = new StartFlowNode() { Left = 100, Top = 0, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.Add(start);
DesignerItemViewModelBase middle1 = new MiddleFlowNode() { Left = 100, Top = 100, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString(), Text = "主管审批", UserIds= new List<string> { "操作员1", "操作员2" }, ActType = "or" };
DiagramViewModel.DirectAddItemCommand.Execute(middle1);
DesignerItemViewModelBase middle1 = new MiddleFlowNode() { Left = 100, Top = 100, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "主管审批(两人或)", UserIds= new List<string> { "操作员1", "操作员2" }, ActType = "or", SimulateApprove = true };
DiagramViewModel.Add(middle1);
DesignerItemViewModelBase decide = new DecideFlowNode() { Left = 100, Top = 200, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString(), Text = "5" };
DiagramViewModel.DirectAddItemCommand.Execute(decide);
DesignerItemViewModelBase decide = new DecideFlowNode() { Left = 100, Top = 200, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "5" };
DiagramViewModel.Add(decide);
DesignerItemViewModelBase middle2 = new MiddleFlowNode() { Left = 200, Top = 300, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString(), Text = "分管领导", UserIds = new List<string> { "操作员1", "操作员2" }, ActType = "and", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle2);
DesignerItemViewModelBase middle2 = new MiddleFlowNode() { Left = 200, Top = 300, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "分管领导(两人与)", UserIds = new List<string> { "操作员1", "操作员2" }, ActType = "and", SimulateApprove = true };
DiagramViewModel.Add(middle2);
DesignerItemViewModelBase cobegin = new COBeginFlowNode() { Left = 100, Top = 400, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(cobegin);
DesignerItemViewModelBase cobegin = new COBeginFlowNode() { Left = 100, Top = 400, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.Add(cobegin);
DesignerItemViewModelBase middle3 = new MiddleFlowNode() { Left = 100, Top = 500, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString(), Text = "财务审批", UserIds = new List<string> { "Admin" }, ActType = "or", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle3);
DesignerItemViewModelBase middle3 = new MiddleFlowNode() { Left = 100, Top = 500, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "财务审批", UserIds = new List<string> { "Admin" }, ActType = "or", SimulateApprove = true };
DiagramViewModel.Add(middle3);
DesignerItemViewModelBase middle4 = new MiddleFlowNode() { Left = 200, Top = 500, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString(), Text = "人力审批", RoleIds = new List<string> { "操作员", "管理员" }, ActType = "or", DoubleApprove = true };
DiagramViewModel.DirectAddItemCommand.Execute(middle4);
DesignerItemViewModelBase middle4 = new MiddleFlowNode() { Left = 200, Top = 500, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString(), Text = "人力审批", RoleIds = new List<string> { "操作员", "管理员" }, ActType = "or", SimulateApprove = true };
DiagramViewModel.Add(middle4);
DesignerItemViewModelBase coend = new COEndFlowNode() { Left = 100, Top = 600, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(coend);
DesignerItemViewModelBase coend = new COEndFlowNode() { Left = 100, Top = 600, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.Add(coend);
DesignerItemViewModelBase end = new EndFlowNode() { Left = 100, Top = 700, ItemWidth = 80, ItemHeight = 40, Color = Colors.Yellow.ToString() };
DiagramViewModel.DirectAddItemCommand.Execute(end);
DesignerItemViewModelBase end = new EndFlowNode() { Left = 100, Top = 700, ItemWidth = 80, ItemHeight = 40, StatusColor = Colors.Yellow.ToString() };
DiagramViewModel.Add(end);
ConnectionViewModel connector1 = new ConnectionViewModel(start.BottomConnector, middle1.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(middle1.BottomConnector, decide.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.Add(connector2);
ConnectionViewModel connector3 = new ConnectionViewModel(decide.RightConnector, middle2.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
DiagramViewModel.Add(connector3);
connector3.AddLabel(">=3");
ConnectionViewModel connector4 = new ConnectionViewModel(middle2.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(decide.BottomConnector, cobegin.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
DiagramViewModel.Add(connector5);
connector5.AddLabel("<3");
ConnectionViewModel connector6 = new ConnectionViewModel(cobegin.BottomConnector, middle3.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(cobegin.BottomConnector, middle4.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(middle3.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
DiagramViewModel.Add(connector8);
ConnectionViewModel connector9 = new ConnectionViewModel(middle4.BottomConnector, coend.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
DiagramViewModel.Add(connector9);
ConnectionViewModel connector10 = new ConnectionViewModel(coend.BottomConnector, end.TopConnector, _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
DiagramViewModel.Add(connector10);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
TextDesignerItemViewModel despcription = new TextDesignerItemViewModel()
{
Name = nameof(despcription),
Left = 360,
Top = 60,
ItemWidth = 300,
ItemHeight = 150,
Text = @"
一个简易的OA审批流程
1.主管审批为or审批任意一个审批即可
2.分管领导为and审批需要审批两次
3.财务审批为or审批任意一个审批即可
4.人力审批为or审批任意一个审批即可
注意:为了模拟审批,双击节点可以进行审批;请双击主管审批、分管领导、财务审批、人力审批、进行效果查看。"
};
despcription.FontViewModel.HorizontalAlignment = HorizontalAlignment.Left;
despcription.FontViewModel.VerticalAlignment = VerticalAlignment.Top;
despcription.FontViewModel.FontColor = Colors.Blue;
DiagramViewModel.Add(despcription);
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
FlowchartService.InitData(DiagramViewModel.Items.OfType<FlowNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel, true);
}
public override void Dispose()
{
@@ -113,7 +128,7 @@ namespace AIStudio.Wpf.Flowchart
foreach (var viewModel in DiagramViewModels)
{
FlowchartService.DisposeData(viewModel);
FlowchartService.Dispose(viewModel);
}
}
}

View File

@@ -1,13 +1,13 @@
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramApp.ViewModels;
using AIStudio.Wpf.Logical.ViewModels;
using System;
using System;
using System.Linq;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Logical;
using AIStudio.Wpf.Logical.ViewModels;
namespace AIStudio.Wpf.Logical
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class LogicalViewModel : PageViewModel
{
@@ -24,97 +24,95 @@ namespace AIStudio.Wpf.Logical
{
base.InitDiagramViewModel();
DiagramViewModel.ShowGrid = true;
DiagramViewModel.GridCellSize = new Size(150, 100);
DiagramViewModel.PageSizeOrientation = PageSizeOrientation.Horizontal;
DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Left;
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.None;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(150, 100);
DiagramViewModel.DiagramOption.LayoutOption.PageSizeOrientation = PageSizeOrientation.Horizontal;
DiagramViewModel.DiagramOption.LayoutOption.CellHorizontalAlignment = CellHorizontalAlignment.Left;
DiagramViewModel.DiagramOption.LayoutOption.CellVerticalAlignment = CellVerticalAlignment.None;
DiagramViewModel.Items.CollectionChanged += Items_CollectionChanged;
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
}
protected override void Init()
protected override void Init(bool initNew)
{
base.Init();
base.Init(initNew);
TimerDesignerItemViewModel timer = new TimerDesignerItemViewModel() { Left = 28, Top = 28 };
timer.Value = 1;
DiagramViewModel.DirectAddItemCommand.Execute(timer);
DiagramViewModel.Add(timer);
InputItemViewModel in1 = new InputItemViewModel() { Left = 28, Top = 110 };
in1.LinkPoint = LogicalService.LinkPoint[0];
DiagramViewModel.DirectAddItemCommand.Execute(in1);
DiagramViewModel.Add(in1);
InputItemViewModel in2 = new InputItemViewModel() { Left = 28, Top = 300 };
in2.LinkPoint = LogicalService.LinkPoint[1];
DiagramViewModel.DirectAddItemCommand.Execute(in2);
DiagramViewModel.Add(in2);
AddGateItemViewModel item1 = new AddGateItemViewModel() { Left = 178, Top = 160 };
DiagramViewModel.DirectAddItemCommand.Execute(item1);
DiagramViewModel.Add(item1);
ConstantDesignerItemViewModel constant = new ConstantDesignerItemViewModel() { Left = 178, Top = 300, Value = 10 };
DiagramViewModel.DirectAddItemCommand.Execute(constant);
DiagramViewModel.Add(constant);
GTGateItemViewModel gTGate = new GTGateItemViewModel() { Left = 328, Top = 110 };
DiagramViewModel.DirectAddItemCommand.Execute(gTGate);
DiagramViewModel.Add(gTGate);
InputItemViewModel in3 = new InputItemViewModel() { Left = 328, Top = 210 };
in3.LinkPoint = LogicalService.LinkPoint[2];
DiagramViewModel.DirectAddItemCommand.Execute(in3);
DiagramViewModel.Add(in3);
InputItemViewModel in4 = new InputItemViewModel() { Left = 328, Top = 300 };
in4.LinkPoint = LogicalService.LinkPoint[3];
DiagramViewModel.DirectAddItemCommand.Execute(in4);
DiagramViewModel.Add(in4);
SELGateItemViewModel sELGate = new SELGateItemViewModel() { Left = 478, Top = 160 };
DiagramViewModel.DirectAddItemCommand.Execute(sELGate);
DiagramViewModel.Add(sELGate);
OutputItemViewModel out1 = new OutputItemViewModel() { Left = 628, Top = 110 };
out1.LinkPoint = LogicalService.LinkPoint[4];
DiagramViewModel.DirectAddItemCommand.Execute(out1);
DiagramViewModel.Add(out1);
ConnectionViewModel connector1 = new ConnectionViewModel(in1.Output[0], item1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector1.ColorViewModel.FillColor.Color = Colors.Green;
connector1.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
connector1.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(in2.Output[0], item1.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector2.ColorViewModel.FillColor.Color = Colors.Green;
connector2.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
connector2.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector2);
ConnectionViewModel connector3 = new ConnectionViewModel(item1.Output[0], gTGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector3.ColorViewModel.FillColor.Color = Colors.Green;
connector3.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector3);
connector3.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector3);
ConnectionViewModel connector4 = new ConnectionViewModel(constant.Output[0], gTGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector4.ColorViewModel.FillColor.Color = Colors.Green;
connector4.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
connector4.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(gTGate.Output[0], sELGate.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector5.ColorViewModel.FillColor.Color = Colors.Green;
connector5.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
connector5.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector5);
ConnectionViewModel connector6 = new ConnectionViewModel(in3.Output[0], sELGate.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector6.ColorViewModel.FillColor.Color = Colors.Green;
connector6.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
connector6.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(in4.Output[0], sELGate.Input[2], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector7.ColorViewModel.FillColor.Color = Colors.Green;
connector7.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
connector7.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(sELGate.Output[0], out1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
connector8.ColorViewModel.FillColor.Color = Colors.Green;
connector8.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
connector8.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(connector8);
}
private void Items_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
@@ -171,277 +169,11 @@ namespace AIStudio.Wpf.Logical
{
link.Value = rd.NextDouble() * 10;
}
foreach (var item in DiagramViewModel.Items.OfType<ConstantDesignerItemViewModel>())
{
foreach (var output in item.Output)
{
output.Value.ConnectorValue = item.Value;
output.Value.ColorViewModel.FillColor.Color = Colors.Green;
}
}
foreach (var item in DiagramViewModel.Items.OfType<InputItemViewModel>())
{
if (item.LinkPoint != null)
{
foreach (var output in item.Output)
{
output.Value.ConnectorValue = item.LinkPoint.Value;
output.Value.ColorViewModel.FillColor.Color = Colors.Green;
}
}
}
foreach (var item in DiagramViewModel.Items.OfType<LogicalGateItemViewModelBase>().OrderBy(p => p.OrderNumber))
{
if (item.LogicalType != LogicalType.None)
{
foreach (var input in item.Input)
{
var connector = GetSourceItem(input.Value);
if (connector == null)
{
continue;
}
if (connector.SourceConnectorInfo.DataItem is LogicalGateItemViewModelBase)
{
input.Value.ConnectorValue = (connector.SourceConnectorInfo as LogicalConnectorInfo).ConnectorValue;
input.Value.ColorViewModel.FillColor.Color = connector.SourceConnectorInfo.ColorViewModel.FillColor.Color;
connector.ColorViewModel.LineColor.Color = connector.SourceConnectorInfo.ColorViewModel.FillColor.Color;
connector.ColorViewModel.FillColor.Color = connector.SourceConnectorInfo.ColorViewModel.FillColor.Color;
if (item.LogicalType == LogicalType.Output)
{
input.Value.ValueTypePoint = (connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint;
}
else if (item.LogicalType == LogicalType.NOT)
{
input.Value.ValueTypePoint = ((connector.SourceConnectorInfo as LogicalConnectorInfo).ValueTypePoint == ValueTypePoint.Bool) ? ValueTypePoint.Bool : ValueTypePoint.Int;
}
}
}
foreach (var output in item.Output)
{
if (item.LogicalType == LogicalType.Output)
{
var first = item.Input.Values.FirstOrDefault();
output.Value.ConnectorValue = first.ConnectorValue;
output.Value.ValueTypePoint = first.ValueTypePoint;
(item as OutputItemViewModel).Value = first.ConnectorValue;
(item as OutputItemViewModel).LinkPoint.Value = first.ConnectorValue;
}
else if (item.LogicalType == LogicalType.ADD)
{
output.Value.ConnectorValue = item.Input.Values.Select(p => p.ConnectorValue).Sum();
}
else if (item.LogicalType == LogicalType.SUB)
{
var first = item.Input.Values.Select(p => p.ConnectorValue).FirstOrDefault();
var second = item.Input.Values.Where((value, index) => index != 0).Select(p => p.ConnectorValue).Sum();
output.Value.ConnectorValue = first - second;
}
else if (item.LogicalType == LogicalType.MUL)
{
double result = 0;
foreach (var input in item.Input.Values)
{
if (result == 0)
{
result = 1;
}
result *= input.ConnectorValue;
}
output.Value.ConnectorValue = result;
}
else if (item.LogicalType == LogicalType.DIV)
{
double result = item.Input.Values.Select(p => p.ConnectorValue).FirstOrDefault();
foreach (var input in item.Input.Values.Where((value, index) => index != 0))
{
result /= input.ConnectorValue;
}
output.Value.ConnectorValue = result;
}
else if (item.LogicalType == LogicalType.AVE)
{
output.Value.ConnectorValue = item.Input.Values.Select(p => p.ConnectorValue).Average();
}
else if (item.LogicalType == LogicalType.MOD)
{
output.Value.ConnectorValue = item.Input[0].ConnectorValue % item.Input[1].ConnectorValue;
}
else if (item.LogicalType == LogicalType.AND)
{
output.Value.ConnectorValue = Convert.ToInt32(item.Input[0].ConnectorValue) & Convert.ToInt32(item.Input[1].ConnectorValue);
}
else if (item.LogicalType == LogicalType.OR)
{
output.Value.ConnectorValue = Convert.ToInt32(item.Input[0].ConnectorValue) | Convert.ToInt32(item.Input[1].ConnectorValue);
}
else if (item.LogicalType == LogicalType.XOR)
{
output.Value.ConnectorValue = Convert.ToInt32(Convert.ToInt32(item.Input[0].ConnectorValue) ^ Convert.ToInt32(item.Input[1].ConnectorValue));
}
else if (item.LogicalType == LogicalType.NOT)
{
if (item.Input[0].ValueTypePoint == ValueTypePoint.Bool)
{
output.Value.ConnectorValue = Convert.ToInt32(!Convert.ToBoolean(item.Input[0].ConnectorValue));
output.Value.ValueTypePoint = ValueTypePoint.Bool;
}
else
{
output.Value.ConnectorValue = ~Convert.ToInt32(item.Input[0].ConnectorValue);
output.Value.ValueTypePoint = ValueTypePoint.Int;
}
}
else if (item.LogicalType == LogicalType.SHL)
{
output.Value.ConnectorValue = Convert.ToInt32(item.Input[0].ConnectorValue) << Convert.ToInt32(item.Input[1].ConnectorValue);
}
else if (item.LogicalType == LogicalType.SHR)
{
output.Value.ConnectorValue = Convert.ToInt32(item.Input[0].ConnectorValue) >> Convert.ToInt32(item.Input[1].ConnectorValue);
}
else if (item.LogicalType == LogicalType.ROL)
{
output.Value.ConnectorValue = (Convert.ToInt32(item.Input[0].ConnectorValue) << Convert.ToInt32(item.Input[1].ConnectorValue)) | (Convert.ToInt32(item.Input[0].ConnectorValue) >> 32 - Convert.ToInt32(item.Input[1].ConnectorValue));
}
else if (item.LogicalType == LogicalType.ROR)
{
output.Value.ConnectorValue = (Convert.ToInt32(item.Input[0].ConnectorValue) >> Convert.ToInt32(item.Input[1].ConnectorValue)) | (Convert.ToInt32(item.Input[0].ConnectorValue) << 32 - Convert.ToInt32(item.Input[1].ConnectorValue));
}
else if (item.LogicalType == LogicalType.SEL)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue == output.Key) ? item.Input[1].ConnectorValue : item.Input[2].ConnectorValue;
}
else if (item.LogicalType == LogicalType.MAX)
{
output.Value.ConnectorValue = item.Input.Values.Select(p => p.ConnectorValue).Max();
}
else if (item.LogicalType == LogicalType.MIN)
{
output.Value.ConnectorValue = item.Input.Values.Select(p => p.ConnectorValue).Min();
}
else if (item.LogicalType == LogicalType.LIMIT)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue > item.Input[1].ConnectorValue) ? item.Input[1].ConnectorValue : item.Input[0].ConnectorValue;
}
else if (item.LogicalType == LogicalType.GT)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue > item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.LT)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue < item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.GE)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue >= item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.LE)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue <= item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.EQ)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue == item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.NE)
{
output.Value.ConnectorValue = (item.Input[0].ConnectorValue != item.Input[1].ConnectorValue) ? 1 : 0;
}
else if (item.LogicalType == LogicalType.ABS)
{
output.Value.ConnectorValue = Math.Abs(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.SQRT)
{
output.Value.ConnectorValue = Math.Sqrt(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.LN)
{
output.Value.ConnectorValue = Math.Log10(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.LOG)
{
output.Value.ConnectorValue = Math.Log(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.EXP)
{
output.Value.ConnectorValue = Math.Exp(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.SIN)
{
output.Value.ConnectorValue = Math.Sin(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.COS)
{
output.Value.ConnectorValue = Math.Cos(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.TAN)
{
output.Value.ConnectorValue = Math.Tan(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.ASIN)
{
output.Value.ConnectorValue = Math.Asin(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.ACOS)
{
output.Value.ConnectorValue = Math.Acos(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.ATAN)
{
output.Value.ConnectorValue = Math.Atan(item.Input[0].ConnectorValue);
}
else if (item.LogicalType == LogicalType.EXPT)
{
output.Value.ConnectorValue = Math.Exp(item.Input[0].ConnectorValue);
}
if (output.Value.ValueTypePoint == ValueTypePoint.Bool)
{
if (output.Value.ConnectorValue == 0)
{
output.Value.ColorViewModel.FillColor.Color = Colors.Red;
if (item.LogicalType == LogicalType.Output)
{
item.ColorViewModel.FillColor.Color = Colors.Red;
}
}
else
{
output.Value.ColorViewModel.FillColor.Color = Colors.Green;
if (item.LogicalType == LogicalType.Output)
{
item.ColorViewModel.FillColor.Color = Colors.Green;
}
}
}
else
{
output.Value.ColorViewModel.FillColor.Color = Colors.Green;
}
}
}
item.Execute();
}
}
private ConnectionViewModel GetSourceItem(FullyCreatedConnectorInfo sinkConnector)
{
foreach (var connector in DiagramViewModel.Items.OfType<ConnectionViewModel>())
{
if (connector.SinkConnectorInfo == sinkConnector)
{
return connector;
}
}
return null;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -11,49 +11,120 @@ using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Mind.ViewModels;
using AIStudio.Wpf.Mind;
using AIStudio.Wpf.DiagramDesigner.Additionals;
using AIStudio.Wpf.Mind.Helpers;
using AIStudio.Wpf.Mind.Models;
namespace AIStudio.Wpf.Flowchart
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class MindViewModel : PageViewModel
{
public MindViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
public MindViewModel(string title, string status, DiagramType diagramType, MindType mindType) : base(title, status, diagramType, mindType.ToString())
{
}
public MindViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
{
}
protected override void OpenFile(DiagramDocument diagramDocument, string ext)
{
base.OpenFile(diagramDocument, ext);
foreach (var vm in DiagramViewModels)
{
vm.Init(false);
}
if (MindDiagramViewModel != null)
{
SubType = MindDiagramViewModel.MindType.ToString();
MindTheme = MindDiagramViewModel.MindTheme;
}
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.GridCellSize = new Size(100, 100);
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineSmooth;
DiagramViewModel.AllowDrop = false;
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 100);
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = false;
DiagramViewModel.DiagramOption.LayoutOption.AllowDrop = false;
}
protected override void Init()
public IMindDiagramViewModel MindDiagramViewModel
{
base.Init();
get
{
return DiagramViewModel as IMindDiagramViewModel;
}
}
DesignerItemViewModelBase start = new MindLevel1Node() { Left = 100, Top = 0, ItemWidth = 80, ItemHeight = 40, Text = "思维导图" };
DiagramViewModel.DirectAddItemCommand.Execute(start);
DiagramViewModel?.CenterMoveCommand.Execute(start);
public MindType MindType
{
get
{
if (SubType == null)
{
return MindType.Mind;
}
else
{
return SubType.ToEnum<MindType>();
}
}
}
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
public MindTheme MindTheme
{
get;set;
}
protected override void Init(bool initNew)
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
GetDiagramViewModel("页-1", DiagramType, initNew),
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
InitDiagramViewModel();
var level1node = MindDiagramViewModel.RootItems.FirstOrDefault();
MindNode level2node1_1 = new MindNode(DiagramViewModel) { Text = "分支主题1" };
level2node1_1.AddTo(level1node, 0, false);
MindNode level2node1_1_1 = new MindNode(DiagramViewModel) { Text = "分支主题1_1" };
level2node1_1_1.AddTo(level2node1_1, 0, false);
MindNode level2node1_1_2 = new MindNode(DiagramViewModel) { Text = "分支主题1_2" };
level2node1_1_2.AddTo(level2node1_1, 0, false);
MindNode level2node1_1_3 = new MindNode(DiagramViewModel) { Text = "分支主题1_3" };
level2node1_1_3.AddTo(level2node1_1, 0, false);
MindNode level2node1_2 = new MindNode(DiagramViewModel) { Text = "分支主题2" };
level2node1_2.AddTo(level1node, 0, false);
MindNode level2node1_3 = new MindNode(DiagramViewModel) { Text = "分支主题3" };
level2node1_3.AddTo(level1node, 0, false);
DiagramViewModel.Init(initNew);
}
protected override DiagramViewModel GetDiagramViewModel(string name, DiagramType diagramType, bool initNew)
{
var viewmodel = new MindDiagramViewModel() { Name = name ?? NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = diagramType, MindType = MindType, MindTheme = MindTheme };
viewmodel.Init(initNew);
return viewmodel;
}
public override void Dispose()
{
base.Dispose();
foreach (var viewModel in DiagramViewModels)
{
FlowchartService.DisposeData(viewModel);
}
}
}
}

View File

@@ -18,55 +18,87 @@ using System.Xml.Serialization;
using AIStudio.Wpf.DiagramDesigner;
using ZXing;
using AIStudio.Wpf.DiagramDesigner.Helpers;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
using System.Threading.Tasks;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public partial class PageViewModel : BindableBase
{
protected IDiagramServiceProvider _service { get { return DiagramServicesProvider.Instance.Provider; } }
public PageViewModel(string title, string status, DiagramType diagramType)
#region
protected IDiagramServiceProvider _service
{
get
{
return DiagramServicesProvider.Instance.Provider;
}
}
public PageViewModel(string title, string status, DiagramType diagramType, string subType = null)
{
Title = title;
Status = status;
DiagramType = diagramType;
SubType = subType;
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
new DiagramViewModel(){Name= "页-1", DiagramType = diagramType},
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
Init();
}
public PageViewModel(string filename)
{
FileName = filename;
string ext = Path.GetExtension(filename);
var diagramDocument = OpenFile(filename, ext);
OpenFile(diagramDocument, ext);
DiagramDocument = OpenFile(filename, ext);
}
public PageViewModel(string filename, DiagramDocument diagramDocument)
{
FileName = filename;
string ext = Path.GetExtension(filename);
OpenFile(diagramDocument, ext);
DiagramDocument = diagramDocument;
}
DiagramDocument DiagramDocument;
public virtual void View_Loaded(object sender, EventArgs e)
{
//await Task.Run(() => {
//Application.Current.Dispatcher.Invoke(() => {
if (string.IsNullOrEmpty(FileName))
{
Init(true);
}
else
{
string ext = Path.GetExtension(FileName);
OpenFile(DiagramDocument, ext);
}
//});
//});
}
protected virtual void InitDiagramViewModel()
{
}
protected virtual void Init()
protected virtual void Init(bool initNew)
{
DiagramViewModels = new ObservableCollection<IDiagramViewModel>()
{
GetDiagramViewModel("页-1", DiagramType,initNew),
};
DiagramViewModel = DiagramViewModels.FirstOrDefault();
InitDiagramViewModel();
}
public string FileName { get; set; }
#endregion
#region
public string FileName
{
get; set;
}
private string _title;
public string Title
@@ -94,26 +126,34 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
}
}
private bool _showGrid;
public bool ShowGrid
//private bool _showGrid;
//public bool ShowGrid
//{
// get
// {
// return _showGrid;
// }
// set
// {
// if (SetProperty(ref _showGrid, value))
// {
// foreach (var item in DiagramViewModels)
// {
// item.DiagramOption.LayoutOption.ShowGrid = _showGrid;
// }
// }
// }
//}
public DiagramType DiagramType
{
get
{
return _showGrid;
}
set
{
if (SetProperty(ref _showGrid, value))
{
foreach (var item in DiagramViewModels)
{
item.ShowGrid = _showGrid;
}
}
}
get; set;
}
public DiagramType DiagramType { get; set; }
public string SubType
{
get; set;
}
private ObservableCollection<IDiagramViewModel> _diagramViewModels;
public ObservableCollection<IDiagramViewModel> DiagramViewModels
@@ -142,33 +182,142 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
if (_diagramViewModel != null)
{
_diagramViewModel.PropertyChanged -= DiagramViewModel_PropertyChanged;
_diagramViewModel.OutAddVerify -= AddVerify;
_diagramViewModel.SaveThumbnail();
}
SetProperty(ref _diagramViewModel, value);
if (_diagramViewModel != null)
{
_diagramViewModel.PropertyChanged += DiagramViewModel_PropertyChanged;
_diagramViewModel.OutAddVerify += AddVerify;
}
}
}
}
#endregion
#region
#region
private ICommand _addPageCommand;
public ICommand AddPageCommand
{
get
{
return this._addPageCommand ?? (this._addPageCommand = new DelegateCommand<object>(para => this.AddPageExecuted(para)));
}
}
private ICommand _addCopyPageCommand;
public ICommand AddCopyPageCommand
{
get
{
return this._addCopyPageCommand ?? (this._addCopyPageCommand = new DelegateCommand<object>(para => this.AddCopyPageExecuted(para)));
}
}
private ICommand _renamePageCommand;
public ICommand RenamePageCommand
{
get
{
return this._renamePageCommand ?? (this._renamePageCommand = new DelegateCommand<object>(para => this.RenamePageExecuted(para)));
}
}
private ICommand _endRenamePageCommand;
public ICommand EndRenamePageCommand
{
get
{
return this._endRenamePageCommand ?? (this._endRenamePageCommand = new DelegateCommand<object>(para => this.EndRenamePageExecuted(para)));
}
}
private ICommand _deletePageCommand;
public ICommand DeletePageCommand
{
get
{
return this._deletePageCommand ?? (this._deletePageCommand = new DelegateCommand<object>(para => this.DeletePageExecuted(para)));
}
}
private ICommand _addImageCommand;
public ICommand AddImageCommand
{
get
{
return this._addImageCommand ?? (this._addImageCommand = new DelegateCommand<object>(para => this.AddImageExecuted(para)));
}
}
private ICommand _editImageCommand;
public ICommand EditImageCommand
{
get
{
return this._editImageCommand ?? (this._editImageCommand = new DelegateCommand<object>(para => this.EditImageExecuted(para)));
}
}
private ICommand _resizeImageCommand;
public ICommand ResizeImageCommand
{
get
{
return this._resizeImageCommand ?? (this._resizeImageCommand = new DelegateCommand<object>(para => this.ResizeImageExecuted(para)));
}
}
private ICommand _resetImageCommand;
public ICommand ResetImageCommand
{
get
{
return this._resetImageCommand ?? (this._resetImageCommand = new DelegateCommand<object>(para => this.ResetImageExecuted(para)));
}
}
private ICommand _addVideoCommand;
public ICommand AddVideoCommand
{
get
{
return this._addVideoCommand ?? (this._addVideoCommand = new DelegateCommand<object>(para => this.AddVideoExectued(para)));
}
}
private ICommand _addOutLineTextCommand;
public ICommand AddOutLineTextCommand
{
get
{
return this._addOutLineTextCommand ?? (this._addOutLineTextCommand = new DelegateCommand<object>(para => this.AddOutLineTextExecuted(para)));
}
}
private ICommand _addBarcodeCommand;
public ICommand AddBarcodeCommand
{
get
{
return this._addBarcodeCommand ?? (this._addBarcodeCommand = new DelegateCommand<object>(para => this.AddBarcodeExecuted(para)));
}
}
#endregion
#region
private void DiagramViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "IsSelected")
{
_service.SelectedItems = DiagramViewModel?.SelectedItems;
_service.SelectedItem = DiagramViewModel?.SelectedItems?.FirstOrDefault();
_service.SelectedItemViewModel = CopyHelper.Mapper(DiagramViewModel?.SelectedItem);
return;
}
var property = sender.GetType().GetProperty(e.PropertyName);
var attr = property.GetCustomAttributes(typeof(BrowsableAttribute), true);
if (attr != null && attr.Length != 0 && (attr[0] as BrowsableAttribute).Browsable == false)
if (attr != null && attr.OfType<BrowsableAttribute>().FirstOrDefault()?.Browsable != true)
{
return;
}
@@ -178,6 +327,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
#endregion
#region
protected virtual bool AddVerify(SelectableDesignerItemViewModelBase arg)
{
return true;
@@ -241,49 +391,14 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
List<DiagramViewModel> viewModels = new List<DiagramViewModel>();
foreach (var diagramItem in diagramDocument.DiagramItems)
{
var viewModel = new DiagramViewModel();
viewModel.Name = diagramItem.Name;
viewModel.DiagramType = diagramItem.DiagramType;
viewModel.ShowGrid = diagramItem.ShowGrid;
viewModel.PhysicalGridCellSize = diagramItem.PhysicalGridCellSize;
viewModel.CellHorizontalAlignment = diagramItem.CellHorizontalAlignment;
viewModel.CellVerticalAlignment = diagramItem.CellVerticalAlignment;
viewModel.PageSizeOrientation = diagramItem.PageSizeOrientation;
viewModel.PhysicalPageSize = diagramItem.PhysicalPageSize;
viewModel.PageSizeType = diagramItem.PageSizeType;
viewModel.PhysicalGridMarginSize = diagramItem.PhysicalGridMarginSize;
viewModel.GridColor = diagramItem.GridColor;
viewModel.AllowDrop = diagramItem.AllowDrop;
foreach (var diagramItemData in diagramItem.DesignerItems)
{
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, ext) as DesignerItemViewModelBase;
viewModel.Items.Add(itemBase);
}
foreach (var connection in diagramItem.Connections)
{
Type type = TypeHelper.GetType(connection.SerializableTypeName);
var connectionItem = SerializeHelper.DeserializeObject(type, connection.SerializableString, ext) as ConnectionItem;
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
DesignerItemViewModelBase sourceItem = DiagramViewModelHelper.GetConnectorDataItem(viewModel.Items, connectionItem.SourceId, connectionItem.SourceType);
ConnectorOrientation sourceConnectorOrientation = connectionItem.SourceOrientation;
FullyCreatedConnectorInfo sourceConnectorInfo = sourceItem.GetFullConnectorInfo(connectionItem.Id, sourceConnectorOrientation, connectionItem.SourceXRatio, connectionItem.SourceYRatio, connectionItem.SourceInnerPoint, connectionItem.SourceInnerPoint);
DesignerItemViewModelBase sinkItem = DiagramViewModelHelper.GetConnectorDataItem(viewModel.Items, connectionItem.SinkId, connectionItem.SinkType);
ConnectorOrientation sinkConnectorOrientation = connectionItem.SinkOrientation;
FullyCreatedConnectorInfo sinkConnectorInfo = sinkItem.GetFullConnectorInfo(connectionItem.Id, sinkConnectorOrientation, connectionItem.SinkXRatio, connectionItem.SinkYRatio, connectionItem.SinkInnerPoint, connectionItem.SinkInnerPoint);
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connectionItem);
viewModel.Items.Add(connectionVM);
}
var viewModel = GetDiagramViewModel(diagramItem, ext);
viewModels.Add(viewModel);
}
DiagramViewModels = new ObservableCollection<IDiagramViewModel>(viewModels);
foreach (var vm in DiagramViewModels)
{
vm.Init(false);
}
DiagramViewModel = DiagramViewModels.FirstOrDefault();
}
@@ -315,14 +430,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
foreach (var viewModel in DiagramViewModels)
{
DiagramItem diagramItem = new DiagramItem(viewModel);
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem(ext)).Where(p => p != null).ToList();
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem(ext)).Where(p => p != null).ToList();
DiagramItem diagramItem = new DiagramItem(viewModel);
diagramDocument.DiagramItems.Add(diagramItem);
}
@@ -338,84 +446,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
Status = "";
return true;
}
private bool ItemsToDeleteHasConnector(List<SelectableDesignerItemViewModelBase> itemsToRemove, ConnectorInfoBase connector)
{
if (connector is FullyCreatedConnectorInfo fully)
{
return itemsToRemove.Contains(fully.DataItem);
}
return false;
}
#region
public void SetPropertyValue(SelectableDesignerItemViewModelBase selectable, string propertyName)
{
foreach (var item in DiagramViewModel.SelectedItems)
{
if (item != selectable)
{
CopyHelper.CopyPropertyValue(selectable, item, propertyName);
}
}
}
public void SetFont(IFontViewModel fontViewModel, string propertyName)
{
foreach (var item in DiagramViewModel.SelectedItems)
{
if (item.FontViewModel != fontViewModel)
{
CopyHelper.CopyPropertyValue(fontViewModel, item.FontViewModel, propertyName);
}
}
}
public void SetColor(IColorViewModel colorViewModel, string propertyName)
{
foreach (var item in DiagramViewModel.SelectedItems)
{
if (item.ColorViewModel != colorViewModel)
{
CopyHelper.CopyPropertyValue(colorViewModel, item.ColorViewModel, propertyName);
}
}
}
public void SetSharp(IShapeViewModel shapeViewModel, string propertyName)
{
foreach (var item in DiagramViewModel.SelectedItems)
{
if (item.ShapeViewModel != shapeViewModel)
{
CopyHelper.CopyPropertyValue(shapeViewModel, item.ShapeViewModel, propertyName);
}
}
}
public void SetQuickItem(IQuickThemeViewModel quickThemeViewModel, string propertyName)
{
if (propertyName == nameof(QuickTheme) && quickThemeViewModel.QuickTheme != null)
{
foreach (var item in DiagramViewModel.SelectedItems)
{
SetFont(quickThemeViewModel.QuickTheme.FontViewModel, "FontColor");
SetColor(quickThemeViewModel.QuickTheme.ColorViewModel, "FillColor");
SetColor(quickThemeViewModel.QuickTheme.ColorViewModel, "LineColor");
SetColor(quickThemeViewModel.QuickTheme.ColorViewModel, "LineWidth");
}
quickThemeViewModel.QuickTheme = null;
}
}
public void LockAction(LockObject lockObject, string propertyName)
{
foreach (var item in DiagramViewModel?.SelectedItems)
{
item.LockObjectViewModel.SetValue(lockObject);
}
}
public virtual void AddPageExecuted(object para)
@@ -429,52 +459,31 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
{
index = DiagramViewModels.Count;
}
var page = new DiagramViewModel() { Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = DiagramType };
var page = GetDiagramViewModel(null, DiagramType, true);
DiagramViewModels.Insert(index, page);
DiagramViewModel = page;
InitDiagramViewModel();
}
protected virtual DiagramViewModel GetDiagramViewModel(DiagramItem diagramItem, string ext)
{
return new BlockDiagramViewModel(diagramItem, ext);
}
protected virtual DiagramViewModel GetDiagramViewModel(string name, DiagramType diagramType, bool initNew)
{
return new BlockDiagramViewModel() { Name = name ?? NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-"), DiagramType = diagramType };
}
public void AddCopyPageExecuted(object para)
{
if (DiagramViewModel != null)
{
var viewModel = DiagramViewModel;
DiagramItem diagramItem = new DiagramItem(viewModel);
diagramItem.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
var selectedDesignerItems = viewModel.Items.OfType<DesignerItemViewModelBase>();
var selectedConnections = viewModel.Items.OfType<ConnectionViewModel>();
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem("json")).Where(p => p != null).ToList();
viewModel = new DiagramViewModel(diagramItem);
viewModel.Name = NewNameHelper.GetNewName(DiagramViewModels.Select(p => p.Name), "页-");
foreach (var diagramItemData in diagramItem.DesignerItems)
{
Type type = TypeHelper.GetType(diagramItemData.ModelTypeName);
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, viewModel, diagramItemData, "json") as DesignerItemViewModelBase;
viewModel.Items.Add(itemBase);
}
foreach (var connection in diagramItem.Connections)
{
var connectionItem = JsonConvert.DeserializeObject<ConnectionItem>(connection.SerializableString);
connectionItem.SourceType = System.Type.GetType(connectionItem.SourceTypeName);
connectionItem.SinkType = System.Type.GetType(connectionItem.SinkTypeName);
DesignerItemViewModelBase sourceItem = DiagramViewModelHelper.GetConnectorDataItem(viewModel.Items, connectionItem.SourceId, connectionItem.SourceType);
ConnectorOrientation sourceConnectorOrientation = connectionItem.SourceOrientation;
FullyCreatedConnectorInfo sourceConnectorInfo = sourceItem.GetFullConnectorInfo(connectionItem.Id,sourceConnectorOrientation, connectionItem.SourceXRatio, connectionItem.SourceYRatio, connectionItem.SourceInnerPoint, connectionItem.SourceIsPortless);
DesignerItemViewModelBase sinkItem = DiagramViewModelHelper.GetConnectorDataItem(viewModel.Items, connectionItem.SinkId, connectionItem.SinkType);
ConnectorOrientation sinkConnectorOrientation = connectionItem.SinkOrientation;
FullyCreatedConnectorInfo sinkConnectorInfo = sinkItem.GetFullConnectorInfo(connectionItem.Id, sinkConnectorOrientation, connectionItem.SinkXRatio, connectionItem.SinkYRatio, connectionItem.SinkInnerPoint, connectionItem.SinkIsPortless);
ConnectionViewModel connectionVM = new ConnectionViewModel(viewModel, sourceConnectorInfo, sinkConnectorInfo, connectionItem);
viewModel.Items.Add(connectionVM);
}
viewModel = GetDiagramViewModel(diagramItem, ".json");
DiagramViewModels.Add(viewModel);
DiagramViewModel = viewModel;
@@ -519,7 +528,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddImageExecuted(object para)
{
ImageItemViewModel itemBase = new ImageItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -528,6 +537,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void EditImageExecuted(object para)
{
if (para == null)
{
para = DiagramViewModel.SelectedItem;
}
ImageItemViewModel itemBase = para as ImageItemViewModel;
if (itemBase != null)
{
@@ -537,6 +551,11 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void ResizeImageExecuted(object para)
{
if (para == null)
{
para = DiagramViewModel.SelectedItem;
}
ImageItemViewModel itemBase = para as ImageItemViewModel;
if (itemBase != null)
{
@@ -546,6 +565,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void ResetImageExecuted(object para)
{
if (para == null)
{
para = DiagramViewModel.SelectedItem;
}
ImageItemViewModel itemBase = para as ImageItemViewModel;
if (itemBase != null)
{
@@ -553,10 +576,10 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
}
}
public void AddVideoExecuted(object para)
public void AddVideoExectued(object para)
{
VideoItemViewModel itemBase = new VideoItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -566,7 +589,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddOutLineTextExecuted(object para)
{
OutLineTextDesignerItemViewModel itemBase = new OutLineTextDesignerItemViewModel();
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
DiagramViewModel?.AddCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
@@ -575,27 +598,14 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
public void AddBarcodeExecuted(object para)
{
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text="AIStudio.Wpf.DiagramApp" };
DiagramViewModel?.DirectAddItemCommand.Execute(itemBase);
BarcodeDesignerItemViewModel itemBase = new BarcodeDesignerItemViewModel() { Format = (BarcodeFormat)Enum.Parse(typeof(BarcodeFormat), para.ToString()), Text = "AIStudio.Wpf.DiagramApp" };
DiagramViewModel?.AddCommand.Execute(itemBase);
if (itemBase.Root != null)
{
_service.DrawModeViewModel.CursorMode = CursorMode.Move;
}
}
#endregion
private Size MeasureString(OutLineTextDesignerItemViewModel itemBase)
{
var formattedText = new FormattedText(
itemBase.Text,
CultureInfo.CurrentUICulture,
FlowDirection.LeftToRight,
new Typeface(new FontFamily(itemBase.FontViewModel.FontFamily), itemBase.FontViewModel.FontStyle, itemBase.FontViewModel.FontWeight, itemBase.FontViewModel.FontStretch),
itemBase.FontViewModel.FontSize,
Brushes.Black);
return new Size(formattedText.Width, formattedText.Height);
}
#endregion
public virtual void Dispose()
{

View File

@@ -1,27 +1,21 @@
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramApp.ViewModels;
using AIStudio.Wpf.Flowchart.ViewModels;
using AIStudio.Wpf.SFC;
using AIStudio.Wpf.SFC.ViewModels;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.SFC;
using AIStudio.Wpf.SFC.ViewModels;
namespace AIStudio.Wpf.Flowchart
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class SFCViewModel : PageViewModel
{
public SFCViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public SFCViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
if (DiagramViewModel != null)
@@ -39,165 +33,166 @@ namespace AIStudio.Wpf.Flowchart
{
base.InitDiagramViewModel();
DiagramViewModel.ShowGrid = true;
DiagramViewModel.GridCellSize = new Size(100, 60);
DiagramViewModel.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.CellVerticalAlignment = CellVerticalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.ShowGrid = true;
DiagramViewModel.DiagramOption.LayoutOption.GridCellSize = new Size(100, 60);
DiagramViewModel.DiagramOption.LayoutOption.CellHorizontalAlignment = CellHorizontalAlignment.Center;
DiagramViewModel.DiagramOption.LayoutOption.CellVerticalAlignment = CellVerticalAlignment.Center;
_service.DrawModeViewModel.LineDrawMode = DrawMode.ConnectingLineBoundary;
}
private System.Timers.Timer readDataTimer = new System.Timers.Timer();
protected override void Init()
protected override void Init(bool initNew)
{
base.Init();
base.Init(initNew);
SFCStartNode start = new SFCStartNode() { Left = 0, Top = 60, Text = "S0" };
DiagramViewModel.DirectAddItemCommand.Execute(start);
SFCStartNode start = new SFCStartNode() { Name = nameof(start), Left = 0, Top = 60, Text = "S0" };
DiagramViewModel.Add(start);
SFCConditionNode condition1_1 = new SFCConditionNode() { Left = 0, Top = 120, Text = "X01", Expression = "p0==1&p1<20", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition1_1);
SFCConditionNode condition1_1 = new SFCConditionNode() { Name = nameof(condition1_1), Left = 0, Top = 120, Text = "X01", Expression = "p0==1&p1<20", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.Add(condition1_1);
SFCConditionNode condition1_2 = new SFCConditionNode() { Left = 100, Top = 120, Text = "X02", Expression = "p0==1&p1<30", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition1_2);
SFCConditionNode condition1_2 = new SFCConditionNode() { Name = nameof(condition1_2), Left = 100, Top = 120, Text = "X02", Expression = "p0==1&p1<30", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.Add(condition1_2);
SFCNodeNode step1 = new SFCNodeNode() { Left = 0, Top = 180, Text = "S1" };
DiagramViewModel.DirectAddItemCommand.Execute(step1);
SFCNodeNode step1 = new SFCNodeNode() { Name = nameof(step1), Left = 0, Top = 180, Text = "S1" };
DiagramViewModel.Add(step1);
SFCActionNode action11 = new SFCActionNode() { Left = 100, Top = 180, Text = "SET_V1", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action11);
SFCActionNode action11 = new SFCActionNode() { Name = nameof(action11), Left = 100, Top = 180, Text = "SET_V1", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.Add(action11);
SFCActionNode action12 = new SFCActionNode() { Left = 200, Top = 180, Text = "SET_V2", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action12);
SFCActionNode action12 = new SFCActionNode() {Name = nameof(action12), Left = 200, Top = 180, Text = "SET_V2", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.Add(action12);
SFCActionNode action13 = new SFCActionNode() { Left = 300, Top = 180, Text = "SET_V3", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action13);
SFCActionNode action13 = new SFCActionNode() {Name = nameof(action13), Left = 300, Top = 180, Text = "SET_V3", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.Add(action13);
SFCActionNode action14 = new SFCActionNode() { Left = 400, Top = 180, Text = "RES_V4", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action14);
SFCActionNode action14 = new SFCActionNode() {Name = nameof(action14), Left = 400, Top = 180, Text = "RES_V4", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.Add(action14);
SFCConditionNode condition2 = new SFCConditionNode() { Left = 0, Top = 240, Text = "X1", Expression = "p0>50", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition2);
SFCConditionNode condition2 = new SFCConditionNode() {Name = nameof(condition2), Left = 0, Top = 240, Text = "X1", Expression = "p0>50", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.Add(condition2);
SFCNodeNode step2 = new SFCNodeNode() { Left = 0, Top = 300, Text = "S2" };
DiagramViewModel.DirectAddItemCommand.Execute(step2);
SFCNodeNode step2 = new SFCNodeNode() {Name = nameof(step2), Left = 0, Top = 300, Text = "S2" };
DiagramViewModel.Add(step2);
SFCActionNode action2 = new SFCActionNode() { Left = 100, Top = 300, Text = "SET_V4", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action2);
SFCActionNode action2 = new SFCActionNode() {Name = nameof(action2), Left = 100, Top = 300, Text = "SET_V4", Expression = "1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI") };
DiagramViewModel.Add(action2);
SFCConditionNode condition3 = new SFCConditionNode() { Left = 0, Top = 360, Text = "X2", Expression = "p0>70", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition3);
SFCConditionNode condition3 = new SFCConditionNode() {Name = nameof(condition3), Left = 0, Top = 360, Text = "X2", Expression = "p0>70", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.Add(condition3);
SFCNodeNode step3 = new SFCNodeNode() { Left = 0, Top = 420, Text = "S3" };
DiagramViewModel.DirectAddItemCommand.Execute(step3);
SFCNodeNode step3 = new SFCNodeNode() { Name = nameof(step3), Left = 0, Top = 420, Text = "S3" };
DiagramViewModel.Add(step3);
SFCActionNode action3 = new SFCActionNode() { Left = 100, Top = 420, Text = "RES_V1", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action3);
SFCActionNode action3 = new SFCActionNode() {Name = nameof(action3), Left = 100, Top = 420, Text = "RES_V1", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI") };
DiagramViewModel.Add(action3);
SFCConditionNode condition4 = new SFCConditionNode() { Left = 0, Top = 480, Text = "X3", Expression = "p0>80", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition4);
SFCConditionNode condition4 = new SFCConditionNode() {Name = nameof(condition4), Left = 0, Top = 480, Text = "X3", Expression = "p0>80", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") } };
DiagramViewModel.Add(condition4);
SFCCOBeginNode cobegin = new SFCCOBeginNode() { Left = 38, Top = 540, Text = "" };
DiagramViewModel.DirectAddItemCommand.Execute(cobegin);
SFCCOBeginNode cobegin = new SFCCOBeginNode() {Name = nameof(cobegin), Left = 38, Top = 540, Text = "" };
DiagramViewModel.Add(cobegin);
SFCNodeNode step4 = new SFCNodeNode() { Left = 0, Top = 600, Text = "S4" };
DiagramViewModel.DirectAddItemCommand.Execute(step4);
SFCNodeNode step4 = new SFCNodeNode() {Name = nameof(step4), Left = 0, Top = 600, Text = "S4" };
DiagramViewModel.Add(step4);
SFCActionNode action4 = new SFCActionNode() { Left = 100, Top = 600, Text = "RES_V2", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action4);
SFCActionNode action4 = new SFCActionNode() {Name = nameof(action4), Left = 100, Top = 600, Text = "RES_V2", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI") };
DiagramViewModel.Add(action4);
SFCConditionNode condition5 = new SFCConditionNode() { Left = 0, Top = 660, Text = "X4", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition5);
SFCConditionNode condition5 = new SFCConditionNode() {Name = nameof(condition5), Left = 0, Top = 660, Text = "X4", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") } };
DiagramViewModel.Add(condition5);
SFCNodeNode step5 = new SFCNodeNode() { Left = 200, Top = 600, Text = "S5" };
DiagramViewModel.DirectAddItemCommand.Execute(step5);
SFCNodeNode step5 = new SFCNodeNode() {Name = nameof(step5), Left = 200, Top = 600, Text = "S5" };
DiagramViewModel.Add(step5);
SFCActionNode action5 = new SFCActionNode() { Left = 300, Top = 600, Text = "RES_V3", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.DirectAddItemCommand.Execute(action5);
SFCActionNode action5 = new SFCActionNode() {Name = nameof(action5), Left = 300, Top = 600, Text = "RES_V3", Expression = "0", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI") };
DiagramViewModel.Add(action5);
SFCConditionNode condition6 = new SFCConditionNode() { Left = 200, Top = 660, Text = "X5", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") } };
DiagramViewModel.DirectAddItemCommand.Execute(condition6);
SFCConditionNode condition6 = new SFCConditionNode() {Name = nameof(condition6), Left = 200, Top = 660, Text = "X5", Expression = "p0==0", LinkPoint = new ObservableCollection<LinkPoint> { SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") } };
DiagramViewModel.Add(condition6);
SFCCOEndNode coend = new SFCCOEndNode() { Left = 38, Top = 720, Text = "" };
DiagramViewModel.DirectAddItemCommand.Execute(coend);
SFCCOEndNode coend = new SFCCOEndNode() {Name = nameof(coend), Left = 38, Top = 720, Text = "" };
DiagramViewModel.Add(coend);
ConnectionViewModel connector1_1 = new ConnectionViewModel(start.Output[0], condition1_1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_1);
ConnectionViewModel connector1_1 = new ConnectionViewModel(DiagramViewModel, start.Output[0], condition1_1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector1_1), };
DiagramViewModel.Add(connector1_1);
ConnectionViewModel connector2_1 = new ConnectionViewModel(condition1_1.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_1);
ConnectionViewModel connector2_1 = new ConnectionViewModel(DiagramViewModel, condition1_1.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector2_1), };
DiagramViewModel.Add(connector2_1);
ConnectionViewModel connector1_2 = new ConnectionViewModel(start.Output[0], condition1_2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector1_2);
ConnectionViewModel connector1_2 = new ConnectionViewModel(DiagramViewModel, start.Output[0], condition1_2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector1_2) };
DiagramViewModel.Add(connector1_2);
ConnectionViewModel connector2_2 = new ConnectionViewModel(condition1_2.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector2_2);
ConnectionViewModel connector2_2 = new ConnectionViewModel(DiagramViewModel, condition1_2.Output[0], step1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector2_2) };
DiagramViewModel.Add(connector2_2);
ConnectionViewModel connector31 = new ConnectionViewModel(step1.Action[0], action11.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector31);
ConnectionViewModel connector31 = new ConnectionViewModel(DiagramViewModel, step1.Action[0], action11.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector31), };
DiagramViewModel.Add(connector31);
ConnectionViewModel connector32 = new ConnectionViewModel(step1.Action[0], action12.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector32);
ConnectionViewModel connector32 = new ConnectionViewModel(DiagramViewModel, step1.Action[0], action12.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector32) };
DiagramViewModel.Add(connector32);
ConnectionViewModel connector33 = new ConnectionViewModel(step1.Action[0], action13.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector33);
ConnectionViewModel connector33 = new ConnectionViewModel(DiagramViewModel, step1.Action[0], action13.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector33) };
DiagramViewModel.Add(connector33);
ConnectionViewModel connector34 = new ConnectionViewModel(step1.Action[0], action14.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector34);
ConnectionViewModel connector34 = new ConnectionViewModel(DiagramViewModel, step1.Action[0], action14.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector34) };
DiagramViewModel.Add(connector34);
ConnectionViewModel connector4 = new ConnectionViewModel(step1.Output[0], condition2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector4);
ConnectionViewModel connector4 = new ConnectionViewModel(DiagramViewModel, step1.Output[0], condition2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector4) };
DiagramViewModel.Add(connector4);
ConnectionViewModel connector5 = new ConnectionViewModel(condition2.Output[0], step2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector5);
ConnectionViewModel connector5 = new ConnectionViewModel(DiagramViewModel, condition2.Output[0], step2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector5) };
DiagramViewModel.Add(connector5);
ConnectionViewModel connector6 = new ConnectionViewModel(step2.Action[0], action2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector6);
ConnectionViewModel connector6 = new ConnectionViewModel(DiagramViewModel, step2.Action[0], action2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector6) };
DiagramViewModel.Add(connector6);
ConnectionViewModel connector7 = new ConnectionViewModel(step2.Output[0], condition3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector7);
ConnectionViewModel connector7 = new ConnectionViewModel(DiagramViewModel, step2.Output[0], condition3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector7) };
DiagramViewModel.Add(connector7);
ConnectionViewModel connector8 = new ConnectionViewModel(condition3.Output[0], step3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector8);
ConnectionViewModel connector8 = new ConnectionViewModel(DiagramViewModel, condition3.Output[0], step3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector8) };
DiagramViewModel.Add(connector8);
ConnectionViewModel connector9 = new ConnectionViewModel(step3.Action[0], action3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector9);
ConnectionViewModel connector9 = new ConnectionViewModel(DiagramViewModel, step3.Action[0], action3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector9) };
DiagramViewModel.Add(connector9);
ConnectionViewModel connector10 = new ConnectionViewModel(step3.Output[0], condition4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector10);
ConnectionViewModel connector10 = new ConnectionViewModel(DiagramViewModel, step3.Output[0], condition4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector10) };
DiagramViewModel.Add(connector10);
ConnectionViewModel connector11 = new ConnectionViewModel(condition4.Output[0], cobegin.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector11);
ConnectionViewModel connector11 = new ConnectionViewModel(DiagramViewModel, condition4.Output[0], cobegin.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector11) };
DiagramViewModel.Add(connector11);
ConnectionViewModel connector12 = new ConnectionViewModel(cobegin.Output[0], step4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector12);
ConnectionViewModel connector12 = new ConnectionViewModel(DiagramViewModel, cobegin.Output[0], step4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector12) };
DiagramViewModel.Add(connector12);
ConnectionViewModel connector13 = new ConnectionViewModel(step4.Action[0], action4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector13);
ConnectionViewModel connector13 = new ConnectionViewModel(DiagramViewModel, step4.Action[0], action4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector13) };
DiagramViewModel.Add(connector13);
ConnectionViewModel connector14 = new ConnectionViewModel(step4.Output[0], condition5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector14);
ConnectionViewModel connector14 = new ConnectionViewModel(DiagramViewModel, step4.Output[0], condition5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector14) };
DiagramViewModel.Add(connector14);
ConnectionViewModel connector15 = new ConnectionViewModel(cobegin.Output[1], step5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector15);
ConnectionViewModel connector15 = new ConnectionViewModel(DiagramViewModel, cobegin.Output[1], step5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector15), };
DiagramViewModel.Add(connector15);
ConnectionViewModel connector16 = new ConnectionViewModel(step5.Action[0], action5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector16);
ConnectionViewModel connector16 = new ConnectionViewModel(DiagramViewModel, step5.Action[0], action5.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector16), };
DiagramViewModel.Add(connector16);
ConnectionViewModel connector17 = new ConnectionViewModel(step5.Output[0], condition6.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector17);
ConnectionViewModel connector17 = new ConnectionViewModel(DiagramViewModel, step5.Output[0], condition6.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector17), };
DiagramViewModel.Add(connector17);
ConnectionViewModel connector18 = new ConnectionViewModel(condition5.Output[0], coend.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector18);
ConnectionViewModel connector18 = new ConnectionViewModel(DiagramViewModel, condition5.Output[0], coend.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector18), };
DiagramViewModel.Add(connector18);
ConnectionViewModel connector19 = new ConnectionViewModel(condition6.Output[0], coend.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector19);
ConnectionViewModel connector19 = new ConnectionViewModel(DiagramViewModel, condition6.Output[0], coend.Input[1], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector19), };
DiagramViewModel.Add(connector19);
ConnectionViewModel connector20 = new ConnectionViewModel(coend.Output[0], start.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(connector20);
ConnectionViewModel connector20 = new ConnectionViewModel(DiagramViewModel, coend.Output[0], start.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(connector20), };
DiagramViewModel.Add(connector20);
#region
TextDesignerItemViewModel despcription = new TextDesignerItemViewModel()
{
Name = nameof(despcription),
Left = 230,
Top = 270,
ItemWidth = 300,
@@ -211,67 +206,66 @@ namespace AIStudio.Wpf.Flowchart
};
despcription.FontViewModel.HorizontalAlignment = HorizontalAlignment.Left;
despcription.FontViewModel.VerticalAlignment = VerticalAlignment.Top;
DiagramViewModel.DirectAddItemCommand.Execute(despcription);
DiagramViewModel.Add(despcription);
Simulate_ListViewModel list = new Simulate_ListViewModel()
{
Name = nameof(list),
Left = 410,
Top = 390,
};
DiagramViewModel.DirectAddItemCommand.Execute(list);
DiagramViewModel.Add(list);
Simulate_StartViewModel btnstart = new Simulate_StartViewModel() { Left = 0, Top = 0, LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), };
DiagramViewModel.DirectAddItemCommand.Execute(btnstart);
Simulate_StartViewModel btnstart = new Simulate_StartViewModel() { Name = nameof(btnstart), Left = 0, Top = 0, LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "S0"), };
DiagramViewModel.Add(btnstart);
Simulate_TankViewModel tank1 = new Simulate_TankViewModel() { Left = 100, Top = 43, ItemWidth = 48, ItemHeight = 60, Text = "T1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T1") };
DiagramViewModel.DirectAddItemCommand.Execute(tank1);
Simulate_TankViewModel tank1 = new Simulate_TankViewModel() {Name = nameof(tank1), Left = 100, Top = 43, ItemWidth = 48, ItemHeight = 60, Text = "T1", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T1") };
DiagramViewModel.Add(tank1);
Simulate_SolenoidViewModel k1 = new Simulate_SolenoidViewModel() { Left = 200, Top = 0, Text = "K1", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k1);
Simulate_SolenoidViewModel k1 = new Simulate_SolenoidViewModel() {Name = nameof(k1), Left = 200, Top = 0, Text = "K1", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K1_DO") };
DiagramViewModel.Add(k1);
Simulate_SolenoidViewModel k2 = new Simulate_SolenoidViewModel() { Left = 200, Top = 60, Text = "K2", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k2);
Simulate_SolenoidViewModel k2 = new Simulate_SolenoidViewModel() {Name = nameof(k2), Left = 200, Top = 60, Text = "K2", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K2_DO") };
DiagramViewModel.Add(k2);
Simulate_SolenoidViewModel k3 = new Simulate_SolenoidViewModel() { Left = 200, Top = 120, Text = "K3", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k3);
Simulate_SolenoidViewModel k3 = new Simulate_SolenoidViewModel() {Name = nameof(k3), Left = 200, Top = 120, Text = "K3", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K3_DO") };
DiagramViewModel.Add(k3);
Simulate_TankViewModel tank2 = new Simulate_TankViewModel() { Left = 300, Top = 28, Text = "T2", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") };
Simulate_TankViewModel tank2 = new Simulate_TankViewModel() {Name = nameof(tank2), Left = 300, Top = 28, Text = "T2", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T2") };
DiagramViewModel.DirectAddItemCommand.Execute(tank2);
DiagramViewModel.Add(tank2);
Simulate_SolenoidViewModel k4 = new Simulate_SolenoidViewModel() { Left = 400, Top = 60, Text = "K4", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DO") };
DiagramViewModel.DirectAddItemCommand.Execute(k4);
Simulate_SolenoidViewModel k4 = new Simulate_SolenoidViewModel() {Name = nameof(k4), Left = 400, Top = 60, Text = "K4", DILinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DI"), DOLinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "K4_DO") };
DiagramViewModel.Add(k4);
Simulate_TankViewModel tank3 = new Simulate_TankViewModel() { Left = 500, Top = 103, ItemWidth = 48, ItemHeight = 60, Text = "T3", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T3") };
DiagramViewModel.DirectAddItemCommand.Execute(tank3);
Simulate_TankViewModel tank3 = new Simulate_TankViewModel() {Name = nameof(tank3), Left = 500, Top = 103, ItemWidth = 48, ItemHeight = 60, Text = "T3", LinkPoint = SFCService.LinkPoint.FirstOrDefault(p => p.Name == "T3") };
DiagramViewModel.Add(tank3);
ConnectionViewModel conn1 = new ConnectionViewModel(tank1.Output[0], k1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn1);
ConnectionViewModel conn1 = new ConnectionViewModel(DiagramViewModel, tank1.Output[0], k1.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn1), };
DiagramViewModel.Add(conn1);
ConnectionViewModel conn2 = new ConnectionViewModel(tank1.Output[0], k2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn2);
ConnectionViewModel conn2 = new ConnectionViewModel(DiagramViewModel, tank1.Output[0], k2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn2) };
DiagramViewModel.Add(conn2);
ConnectionViewModel conn3 = new ConnectionViewModel(tank1.Output[0], k3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn3);
ConnectionViewModel conn3 = new ConnectionViewModel(DiagramViewModel, tank1.Output[0], k3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn3) };
DiagramViewModel.Add(conn3);
ConnectionViewModel conn4 = new ConnectionViewModel(k1.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn4);
ConnectionViewModel conn4 = new ConnectionViewModel(DiagramViewModel, k1.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn4) };
DiagramViewModel.Add(conn4);
ConnectionViewModel conn5 = new ConnectionViewModel(k2.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn5);
ConnectionViewModel conn5 = new ConnectionViewModel(DiagramViewModel, k2.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn5) };
DiagramViewModel.Add(conn5);
ConnectionViewModel conn6 = new ConnectionViewModel(k3.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn6);
ConnectionViewModel conn6 = new ConnectionViewModel(DiagramViewModel, k3.Output[0], tank2.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn6) };
DiagramViewModel.Add(conn6);
ConnectionViewModel conn7 = new ConnectionViewModel(tank2.Output[1], k4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn7);
ConnectionViewModel conn7 = new ConnectionViewModel(DiagramViewModel, tank2.Output[1], k4.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn7), };
DiagramViewModel.Add(conn7);
ConnectionViewModel conn8 = new ConnectionViewModel(k4.Output[0], tank3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode);
DiagramViewModel.DirectAddItemCommand.Execute(conn8);
ConnectionViewModel conn8 = new ConnectionViewModel(DiagramViewModel, k4.Output[0], tank3.Input[0], _service.DrawModeViewModel.LineDrawMode, _service.DrawModeViewModel.LineRouterMode) { Name = nameof(conn8) };
DiagramViewModel.Add(conn8);
#endregion
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
SFCService.InitData(DiagramViewModel.Items.OfType<SFCNode>().ToList(), DiagramViewModel.Items.OfType<ConnectionViewModel>().ToList(), DiagramViewModel);
readDataTimer.Elapsed += timeCycle;
@@ -298,7 +292,7 @@ namespace AIStudio.Wpf.Flowchart
foreach (var viewModel in DiagramViewModels)
{
SFCService.DisposeData(viewModel);
SFCService.Dispose(viewModel);
}
}
}

View File

@@ -0,0 +1,213 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Media;
using AIStudio.Wpf.DiagramApp.Models;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.Script.Core.Helpers;
using AIStudio.Wpf.Script.Core.Models;
using AIStudio.Wpf.Script.Core.ViewModels;
using AIStudio.Wpf.Script.ViewModels;
using AIStudio.Wpf.SFC;
using Microsoft.CodeAnalysis;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class ScriptViewModel : PageViewModel
{
static ScriptViewModel()
{
TextEditorThemeHelper.SetCurrentTheme("VS2019_Dark");
}
public ScriptViewModel(string title, string status, DiagramType diagramType) : base(title, status, diagramType)
{
}
public ScriptViewModel(string filename, DiagramDocument diagramDocument) : base(filename, diagramDocument)
{
if (DiagramViewModel != null)
{
}
readDataTimer.Elapsed += timeCycle;
readDataTimer.Interval = 1000;
readDataTimer.AutoReset = false;
readDataTimer.Start();
}
protected override void InitDiagramViewModel()
{
base.InitDiagramViewModel();
DiagramViewModel.DiagramOption.LayoutOption.PageSizeType = PageSizeType.Custom;
DiagramViewModel.DiagramOption.LayoutOption.PageSize = new Size(double.NaN, double.NaN);
DiagramViewModel.ColorViewModel = new ColorViewModel();
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
}
private System.Timers.Timer readDataTimer = new System.Timers.Timer();
protected override void Init(bool initNew)
{
base.Init(initNew);
ConsoleLogViewModel logNode = new ConsoleLogViewModel(DiagramViewModel) { Name = "Log", Left = 150, Top = 420 };
DiagramViewModel.Add(logNode);
IntScriptViewModel intNode = new IntScriptViewModel(DiagramViewModel) { Name = "Int", Left = 40, Top = 220 };
DiagramViewModel.Add(intNode);
ColorBoxFactoryScriptViewModel factoryNode = new ColorBoxFactoryScriptViewModel(DiagramViewModel) { Name = "ColorBoxFactory", Left = 150, Top = 150 };
DiagramViewModel.Add(factoryNode);
BoolScriptViewModel boolNode = new BoolScriptViewModel(DiagramViewModel) { Name = "Bool", TrueString = "形状", FalseString = "颜色", Left = 410, Top = 190 };
DiagramViewModel.Add(boolNode);
ColorBoxSwitchScriptViewModel switchNode = new ColorBoxSwitchScriptViewModel(DiagramViewModel) { Name = "ColorBoxSwitch", Left = 500, Top = 150 };
DiagramViewModel.Add(switchNode);
TextScriptViewModel textNode = new TextScriptViewModel(DiagramViewModel) { Name = "Text", Text = "AIStudio Diagram", Left = 150, Top = 50, ItemWidth = 450, ItemHeight = 60 };
DiagramViewModel.Add(textNode);
ColorBoxIfScriptViewModel ifNode = new ColorBoxIfScriptViewModel(DiagramViewModel) { Name = "ColorBoxIf", Left = 660, Top = 60 };
DiagramViewModel.Add(ifNode);
ColorBoxCollectorScriptViewModel collectorNode1_1 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector1_1", Left = 790, Top = 40 };
collectorNode1_1.Tag = new ColorBoxModel("红色|圆形", "M 10,20 A 20,20 0 1 1 50,20 A 20,20 0 1 1 10,20", Colors.Red);
DiagramViewModel.Add(collectorNode1_1);
ColorBoxCollectorScriptViewModel collectorNode1_2 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector1_2", Left = 790, Top = 120 };
collectorNode1_2.Tag = new ColorBoxModel("红色|圆形", "M 10,20 A 20,20 0 1 1 50,20 A 20,20 0 1 1 10,20", Colors.Red);
DiagramViewModel.Add(collectorNode1_2);
ColorBoxCollectorScriptViewModel collectorNode2 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector2", Left = 790, Top = 220 };
collectorNode2.Tag = new ColorBoxModel("橙色|三角形", "M1,21H23L12,2", Colors.Orange);
DiagramViewModel.Add(collectorNode2);
ColorBoxCollectorScriptViewModel collectorNode3 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector3", Left = 790, Top = 305 };
collectorNode3.Tag = new ColorBoxModel("黄色|方形", "M3,3V21H21V3", Colors.Yellow);
DiagramViewModel.Add(collectorNode3);
ColorBoxCollectorScriptViewModel collectorNode4 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector4", Left = 790, Top = 390 };
collectorNode4.Tag = new ColorBoxModel("绿色|菱形", "M 0,20 L 30 0 L 60,20 L 30,40 Z", Colors.Green);
DiagramViewModel.Add(collectorNode4);
ColorBoxCollectorScriptViewModel collectorNode5 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector5", Left = 790, Top = 475 };
collectorNode5.Tag = new ColorBoxModel("青色|梯形", "M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.78 7.77L10 18.78l8.39-8.4a5.5 5.5 0 0 0-7.78-7.77l-.61.61z", Colors.Cyan);
DiagramViewModel.Add(collectorNode5);
ColorBoxCollectorScriptViewModel collectorNode6 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector6", Left = 790, Top = 560 };
collectorNode6.Tag = new ColorBoxModel("蓝色|五角星", "M 9,2 11,7 17,7 12,10 14,15 9,12 4,15 6,10 1,7 7,7 Z", Colors.Blue);
DiagramViewModel.Add(collectorNode6);
ColorBoxCollectorScriptViewModel collectorNode7 = new ColorBoxCollectorScriptViewModel(DiagramViewModel) { Name = "Collector7", Left = 790, Top = 645 };
collectorNode7.Tag = new ColorBoxModel("紫色|六边形", "M 0,20 L 10,0 H 50 L 60,20 L 50,40 H10 Z", Colors.Purple);
DiagramViewModel.Add(collectorNode7);
ConnectionViewModel int_factoryConnector = new ConnectionViewModel(DiagramViewModel, intNode.Output[0], factoryNode.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.Add(int_factoryConnector);
ConnectionViewModel bool_switchConnector = new ConnectionViewModel(DiagramViewModel, boolNode.Output[0], switchNode.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
DiagramViewModel.Add(bool_switchConnector);
ConnectionViewModel factory_switchConnector = new ConnectionViewModel(DiagramViewModel, factoryNode.Output[0], switchNode.Input[1], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
factory_switchConnector.AnimationViewModel.Repeat = false;
factory_switchConnector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(factory_switchConnector);
ConnectionViewModel switch_textConnector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[0], textNode.Input[0], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
switch_textConnector.SetPathGeneratorParameter(null, null, 5, 10);
DiagramViewModel.Add(switch_textConnector);
ConnectionViewModel switch_ifConnector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[1], ifNode.Input[2], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_ifConnector.AnimationViewModel.Repeat = false;
switch_ifConnector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_ifConnector);
ConnectionViewModel if_collector1_1Connector = new ConnectionViewModel(DiagramViewModel, ifNode.Output[0], collectorNode1_1.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
if_collector1_1Connector.AnimationViewModel.Repeat = false;
if_collector1_1Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(if_collector1_1Connector);
ConnectionViewModel if_collector1_2Connector = new ConnectionViewModel(DiagramViewModel, ifNode.Output[1], collectorNode1_2.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
if_collector1_2Connector.AnimationViewModel.Repeat = false;
if_collector1_2Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(if_collector1_2Connector);
ConnectionViewModel collector1_1_if_Connector = new ConnectionViewModel(DiagramViewModel, collectorNode1_1.Output[0], ifNode.Input[0], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
collector1_1_if_Connector.SetPathGeneratorParameter(null, null, 5, 30);
DiagramViewModel.Add(collector1_1_if_Connector);
ConnectionViewModel collector1_2_if_Connector = new ConnectionViewModel(DiagramViewModel, collectorNode1_2.Output[0], ifNode.Input[1], DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
collector1_2_if_Connector.SetPathGeneratorParameter(null, null, 5, 10);
DiagramViewModel.Add(collector1_2_if_Connector);
ConnectionViewModel switch_collector2Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[2], collectorNode2.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector2Connector.AnimationViewModel.Repeat = false;
switch_collector2Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector2Connector);
ConnectionViewModel switch_collector3Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[3], collectorNode3.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector3Connector.AnimationViewModel.Repeat = false;
switch_collector3Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector3Connector);
ConnectionViewModel switch_collector4Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[4], collectorNode4.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector4Connector.AnimationViewModel.Repeat = false;
switch_collector4Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector4Connector);
ConnectionViewModel switch_collector5Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[5], collectorNode5.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector5Connector.AnimationViewModel.Repeat = false;
switch_collector5Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector5Connector);
ConnectionViewModel switch_collector6Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[6], collectorNode6.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector6Connector.AnimationViewModel.Repeat = false;
switch_collector6Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector6Connector);
ConnectionViewModel switch_collector7Connector = new ConnectionViewModel(DiagramViewModel, switchNode.Output[7], collectorNode7.Input[0], DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
switch_collector7Connector.AnimationViewModel.Repeat = false;
switch_collector7Connector.AnimationViewModel.Animation = LineAnimation.PathAnimation;
DiagramViewModel.Add(switch_collector7Connector);
readDataTimer.Elapsed += timeCycle;
readDataTimer.Interval = 1000;
readDataTimer.AutoReset = false;
readDataTimer.Start();
}
private void timeCycle(object sender, ElapsedEventArgs e)
{
foreach (var item in DiagramViewModel.Items.OfType<LogicalGateItemViewModelBase>().OrderBy(p => p.OrderNumber).ToList())
{
item.Execute();
}
if (readDataTimer != null)
readDataTimer.Start();
}
public override void Dispose()
{
base.Dispose();
readDataTimer.Stop();
readDataTimer.Dispose();
readDataTimer = null;
foreach (var item in DiagramViewModel.Items.OfType<LogicalGateItemViewModelBase>().OrderBy(p => p.OrderNumber).ToList())
{
item.Dispose();
}
}
}
}

View File

@@ -21,20 +21,18 @@ using AIStudio.Wpf.SFC.Models;
using System.Windows;
using System;
using AIStudio.Wpf.DiagramDesigner.Models;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
namespace AIStudio.Wpf.DiagramApp.ViewModels
{
public class ToolBoxViewModel : BindableBase
{
private IDiagramServiceProvider _service
{
get
{
return DiagramServicesProvider.Instance.Provider;
}
}
public ToolBoxViewModel()
private MainWindowViewModel _mainWindowViewModel;
public ToolBoxViewModel(MainWindowViewModel mainWindowViewModel)
{
_mainWindowViewModel = mainWindowViewModel;
Init();
}
@@ -51,11 +49,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
}
}
public ObservableCollection<ToolBoxCategory> TotalToolBoxCategory
{
get; set;
}
public ToolBoxCategory MyToolBoxCategory
{
get
@@ -82,7 +75,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
}
private ICommand _addItemCommand;
public ICommand AddItemCommand
public ICommand AddCommand
{
get
{
@@ -121,6 +114,15 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
List<ToolBoxData> defaultToolBoxItems = new List<ToolBoxData>();
defaultToolBoxItems.Add(new TextToolBoxData("", typeof(DefaultDesignerItemViewModel)));
var blockitem = new TextToolBoxData("Block", typeof(BlockDesignerItemViewModel), 64, 32, desiredMinSize: new Size(130, 65));
blockitem.ColorViewModel.FillColor.Color = Color.FromRgb(0x00, 0x2F, 0xA7);
defaultToolBoxItems.Add(blockitem);
var blockitem2 = new TextToolBoxData("Contain", typeof(BlockContainDesignerItemViewModel), 64, 32, desiredMinSize: new Size(130, 65));
blockitem2.ColorViewModel.FillColor.Color = Color.FromRgb(0x00, 0x2F, 0xA7);
defaultToolBoxItems.Add(blockitem2);
var blockitem3 = new TextToolBoxData("ContainList", typeof(BlockContainListDesignerItemViewModel), 64, 32, desiredMinSize: new Size(130, 65));
blockitem3.ColorViewModel.FillColor.Color = Color.FromRgb(0x00, 0x2F, 0xA7);
defaultToolBoxItems.Add(blockitem3);
ToolBoxCategory.Add(new ToolBoxCategory() { Header = "Default", ToolBoxItems = new ObservableCollection<ToolBoxData>(defaultToolBoxItems), IsExpanded = true });
@@ -144,7 +146,7 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
pathToolBoxItems.Add(new PathToolBoxData("M 0,20 A 40,40 0 0 1 15,0 H 55 A 60,60 0 0 1 55,40 H 15 A 40,40, 0 0 1 0,20 Z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M 0 10 L 10,0 H 50 L 60,10 V 40 H 0 Z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M 0,20 L 10,0 H 50 L 60,20 L 50,40 H10 Z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M 0 0 H 60 L 50 40 H 10 Z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.78 7.77L10 18.78l8.39-8.4a5.5 5.5 0 0 0-7.78-7.77l-.61.61z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M 0 0 H 60 V 20 L 30, 40 L 0, 20 Z", typeof(PathItemViewModel)));
pathToolBoxItems.Add(new PathToolBoxData("M 9,2 11,7 17,7 12,10 14,15 9,12 4,15 6,10 1,7 7,7 Z", typeof(PathItemViewModel)));
ToolBoxCategory.Add(new ToolBoxCategory() { Header = "Path", ToolBoxItems = new ObservableCollection<ToolBoxData>(pathToolBoxItems) });
@@ -296,14 +298,14 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
private void AddMyItem()
{
if (_service.SelectedItems != null)
if (_mainWindowViewModel?.PageViewModel?.DiagramViewModel != null)
{
DiagramDocument diagramDocument = new DiagramDocument();
diagramDocument.DiagramItems = new List<DiagramItem>();
DiagramItem diagramItem = new DiagramItem();
var selectedDesignerItems = _service.SelectedItems.OfType<DesignerItemViewModelBase>();
var selectedConnections = _service.SelectedItems.OfType<ConnectionViewModel>();
var selectedDesignerItems = _mainWindowViewModel?.PageViewModel?.DiagramViewModel.SelectedItems.OfType<DesignerItemViewModelBase>();
var selectedConnections = _mainWindowViewModel?.PageViewModel?.DiagramViewModel.SelectedItems.OfType<ConnectionViewModel>();
diagramItem.DesignerItems = selectedDesignerItems.Select(p => p.ToSerializableItem(".json")).Where(p => p != null).ToList();
diagramItem.Connections = selectedConnections.Select(p => p.ToSerializableItem(".json")).Where(p => p != null).ToList();
@@ -352,53 +354,6 @@ namespace AIStudio.Wpf.DiagramApp.ViewModels
}
}
public class ToolBoxCategory : BindableBase
{
public string Header
{
get; set;
}
private bool _isExpanded;
public bool IsExpanded
{
get
{
return _isExpanded;
}
set
{
SetProperty(ref _isExpanded, value);
}
}
private bool _isChecked = true;
public bool IsChecked
{
get
{
return _isChecked;
}
set
{
SetProperty(ref _isChecked, value);
}
}
private ObservableCollection<ToolBoxData> _toolBoxItems;
public ObservableCollection<ToolBoxData> ToolBoxItems
{
get
{
return _toolBoxItems;
}
set
{
SetProperty(ref _toolBoxItems, value);
}
}
}
public class MineToolBoxCategory : ToolBoxCategory
{

File diff suppressed because it is too large Load Diff

View File

@@ -31,8 +31,6 @@ namespace AIStudio.Wpf.DiagramApp
{
InitializeComponent();
this.HookEvents();
MainWindowViewModel = new MainWindowViewModel();
this.DataContext = MainWindowViewModel;
this.Closing += MainWindow_Closing;
@@ -44,33 +42,12 @@ namespace AIStudio.Wpf.DiagramApp
e.Handled = MainWindowViewModel.KeyExecuted(e);
}
private void HookEvents()
{
this.PreviewMouseWheel += this.OnPreviewMouseWheel;
}
private void ZoomSlider_OnValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
var textFormattingMode = e.NewValue > 1.0 || Math.Abs(e.NewValue - 1.0) < double.Epsilon ? TextFormattingMode.Ideal : TextFormattingMode.Display;
TextOptions.SetTextFormattingMode(this, textFormattingMode);
}
private void OnPreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
if (Keyboard.IsKeyDown(Key.LeftCtrl) == false
&& Keyboard.IsKeyDown(Key.RightCtrl) == false)
{
return;
}
var newZoomValue = this.zoomSlider.Value + (e.Delta > 0 ? 0.1 : -0.1);
this.zoomSlider.Value = Math.Max(Math.Min(newZoomValue, this.zoomSlider.Maximum), this.zoomSlider.Minimum);
e.Handled = true;
}
private void btnPrint_Click(object sender, RoutedEventArgs e)
{
PrintDialog printDialog = new PrintDialog();

View File

@@ -20,10 +20,10 @@
<dd:EnumDescriptionConverter x:Key="EnumDescriptionConverter"/>
<ControlTemplate TargetType="Control" x:Key="FillTemplate">
<TabControl Style="{StaticResource UniformTabControlStyle}" >
<TabItem Header="填充" Height="34">
<TabControl Style="{StaticResource AIStudio.DiagramApp.Styles.TabControl.Uniform}" >
<TabItem Header="填充" Height="25">
<StackPanel
DataContext="{Binding SelectedItem.ColorViewModel.FillColor}"
DataContext="{Binding SelectedItemViewModel.ColorViewModel.FillColor}"
Visibility="{Binding .,Converter={StaticResource NullableToVisibilityConverter}}">
<StackPanel>
<RadioButton Margin="5" IsChecked="{Binding BrushType,Converter={dd:ConverterValueMapToBool Parameter='None'}, ConverterParameter='None'}" Content="无填充" />
@@ -58,7 +58,7 @@
</DockPanel>
<StackPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='LinearGradientBrush^RadialGradientBrush'}">
<DockPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='LinearGradientBrush'}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" helper:EnumHelper.Enum="{x:Type dd:LinearOrientation}" SelectedItem="{Binding LinearOrientation}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" dd:EnumHelper.Enum="{x:Type dd:LinearOrientation}" SelectedItem="{Binding LinearOrientation}">
<Fluent:ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding .,Converter={StaticResource EnumDescriptionConverter}}" />
@@ -68,7 +68,7 @@
<TextBlock Text="方向" VerticalAlignment="Center" Margin="5"/>
</DockPanel>
<DockPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='RadialGradientBrush'}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" helper:EnumHelper.Enum="{x:Type dd:RadialOrientation}" SelectedItem="{Binding RadialOrientation}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" dd:EnumHelper.Enum="{x:Type dd:RadialOrientation}" SelectedItem="{Binding RadialOrientation}">
<Fluent:ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding .,Converter={StaticResource EnumDescriptionConverter}}" />
@@ -89,7 +89,7 @@
<DockPanel>
<Fluent:Spinner DockPanel.Dock="Right" Margin="5" Width="60" Size="Small" Value="{Binding Light}" Maximum="1" Minimum="-1"
Format="0 %" />
<Slider Margin="5" Maximum="1" Minimum="-1" Value="{Binding Light}" Style="{StaticResource DefaultSlider}"/>
<Slider Margin="5" Maximum="1" Minimum="-1" Value="{Binding Light}" Style="{StaticResource AIStudio.DiagramApp.Styles.Slider}"/>
</DockPanel>
</StackPanel>
<StackPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueSetToOppositeVisibility},ConverterParameter='None'}">
@@ -97,14 +97,14 @@
<DockPanel>
<Fluent:Spinner DockPanel.Dock="Right" Margin="5" Width="60" Size="Small" Value="{Binding Opacity}" Maximum="1" Minimum="0"
Format="0 %" />
<Slider Margin="5" Maximum="1" Minimum="0" Value="{Binding Opacity}" Style="{StaticResource DefaultSlider}"/>
<Slider Margin="5" Maximum="1" Minimum="0" Value="{Binding Opacity}" Style="{StaticResource AIStudio.DiagramApp.Styles.Slider}"/>
</DockPanel>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem Header="线条" Height="34">
<TabItem Header="线条" Height="25">
<StackPanel
DataContext="{Binding SelectedItem.ColorViewModel.LineColor}"
DataContext="{Binding SelectedItemViewModel.ColorViewModel.LineColor}"
Visibility="{Binding .,Converter={StaticResource NullableToVisibilityConverter}}">
<StackPanel>
<RadioButton Margin="5" IsChecked="{Binding BrushType,Converter={dd:ConverterValueMapToBool Parameter='None'}, ConverterParameter='None'}" Content="无线条" />
@@ -138,7 +138,7 @@
</DockPanel>
<StackPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='LinearGradientBrush^RadialGradientBrush'}">
<DockPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='LinearGradientBrush'}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" helper:EnumHelper.Enum="{x:Type dd:LinearOrientation}" SelectedItem="{Binding LinearOrientation}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" dd:EnumHelper.Enum="{x:Type dd:LinearOrientation}" SelectedItem="{Binding LinearOrientation}">
<Fluent:ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding .,Converter={StaticResource EnumDescriptionConverter}}" />
@@ -148,7 +148,7 @@
<TextBlock Text="方向" VerticalAlignment="Center" Margin="5"/>
</DockPanel>
<DockPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueMapSetToVisibility},ConverterParameter='RadialGradientBrush'}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" helper:EnumHelper.Enum="{x:Type dd:RadialOrientation}" SelectedItem="{Binding RadialOrientation}">
<Fluent:ComboBox DockPanel.Dock="Right" Margin="5" Size="Small" Width="140" IsEditable="False" dd:EnumHelper.Enum="{x:Type dd:RadialOrientation}" SelectedItem="{Binding RadialOrientation}">
<Fluent:ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding .,Converter={StaticResource EnumDescriptionConverter}}" />
@@ -169,7 +169,7 @@
<DockPanel>
<Fluent:Spinner DockPanel.Dock="Right" Margin="5" Width="60" Size="Small" Value="{Binding Light}" Maximum="1" Minimum="-1"
Format="0 %" />
<Slider Margin="5" Maximum="1" Minimum="-1" Value="{Binding Light}" Style="{StaticResource DefaultSlider}"/>
<Slider Margin="5" Maximum="1" Minimum="-1" Value="{Binding Light}" Style="{StaticResource AIStudio.DiagramApp.Styles.Slider}"/>
</DockPanel>
</StackPanel>
<StackPanel Visibility="{Binding BrushType,Converter={dd:ConverterValueSetToOppositeVisibility},ConverterParameter='None'}">
@@ -177,12 +177,12 @@
<DockPanel>
<Fluent:Spinner DockPanel.Dock="Right" Margin="5" Width="60" Size="Small" Value="{Binding Opacity}" Maximum="1" Minimum="0"
Format="0 %" />
<Slider Margin="5" Maximum="1" Minimum="0" Value="{Binding Opacity}" Style="{StaticResource DefaultSlider}"/>
<Slider Margin="5" Maximum="1" Minimum="0" Value="{Binding Opacity}" Style="{StaticResource AIStudio.DiagramApp.Styles.Slider}"/>
</DockPanel>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem Header="阴影" Height="34">
<TabItem Header="阴影" Height="25">
</TabItem>
</TabControl>
@@ -195,24 +195,24 @@
</ControlTemplate>
<ControlTemplate TargetType="Control" x:Key="PictureTemplate">
<TabControl Style="{StaticResource UniformTabControlStyle}">
<TabControl Style="{StaticResource AIStudio.DiagramApp.Styles.TabControl.Uniform}">
<TabItem Header="图片" Height="34">
<UniformGrid Columns="2" VerticalAlignment="Top">
<Fluent:Button Header="插入图片" VerticalAlignment="Top" Command="{Binding AddImageCommand}">
<Fluent:Button Header="插入图片" VerticalAlignment="Top" Command="{Binding PageViewModel.AddImageCommand}">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="Image" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
</Fluent:Button>
<Fluent:Button Header="改变图片" VerticalAlignment="Top" Command="{Binding EditImageCommand}">
<Fluent:Button Header="改变图片" VerticalAlignment="Top" Command="{Binding PageViewModel.EditImageCommand}">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="ImageEdit" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
</Fluent:Button>
<Fluent:SplitButton Header="图片裁剪" VerticalAlignment="Top" HorizontalAlignment="Stretch" Command="{Binding ResizeImageCommand}">
<Fluent:SplitButton Header="图片裁剪" VerticalAlignment="Top" HorizontalAlignment="Stretch" Command="{Binding PageViewModel.ResizeImageCommand}">
<Fluent:SplitButton.LargeIcon>
<iconPacks:PackIconMaterial Kind="ImagePlus" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:SplitButton.LargeIcon>
<ListBox helper:EnumHelper.Enum="{x:Type dd:ClipMode}" SelectedItem="{Binding SelectedItem.ClipMode}" BorderThickness="0">
<ListBox dd:EnumHelper.Enum="{x:Type dd:ClipMode}" SelectedItem="{Binding SelectedItemViewModel.ClipMode}" BorderThickness="0">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding .,Converter={StaticResource EnumDescriptionConverter}}" />
@@ -220,7 +220,7 @@
</ListBox.ItemTemplate>
</ListBox>
</Fluent:SplitButton>
<Fluent:Button Header="原始图" VerticalAlignment="Top" Command="{Binding ResetImageCommand}">
<Fluent:Button Header="原始图" VerticalAlignment="Top" Command="{Binding PageViewModel.ResetImageCommand}">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="ImageRemove" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
@@ -229,7 +229,7 @@
</TabItem>
<TabItem Header="视频" Height="34">
<UniformGrid Columns="2" VerticalAlignment="Top">
<Fluent:Button Header="插入视频" VerticalAlignment="Top" Command="{Binding AddVideoCommand}">
<Fluent:Button Header="插入视频" VerticalAlignment="Top" Command="{Binding PageViewModel.AddVideoCommand}">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="Video" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
@@ -238,12 +238,12 @@
</TabItem>
<TabItem Header="二维码" Height="34">
<UniformGrid Columns="2" VerticalAlignment="Top">
<Fluent:Button Header="插入二维码" VerticalAlignment="Top" Command="{Binding AddBarcodeCommand}" CommandParameter="QR_CODE">
<Fluent:Button Header="插入二维码" VerticalAlignment="Top" Command="{Binding PageViewModel.AddBarcodeCommand}" CommandParameter="QR_CODE">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="Qrcode" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
</Fluent:Button>
<Fluent:Button Header="插入条形码" VerticalAlignment="Top" Command="{Binding AddBarcodeCommand}" CommandParameter="CODE_39">
<Fluent:Button Header="插入条形码" VerticalAlignment="Top" Command="{Binding PageViewModel.AddBarcodeCommand}" CommandParameter="CODE_39">
<Fluent:Button.LargeIcon>
<iconPacks:PackIconMaterial Kind="Barcode" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Fluent:Button.LargeIcon>
@@ -254,7 +254,7 @@
</ControlTemplate>
<ControlTemplate TargetType="Control" x:Key="PropertyTemplate">
<dd:PropertiesView SelectedObject="{Binding SelectedItem}">
<dd:PropertiesView SelectedObject="{Binding SelectedItemViewModel}">
<dd:PropertiesView.Resources>
<Style x:Key="ActTypeStyle" TargetType="{x:Type ContentControl}">
<Setter Property="ContentTemplate">
@@ -308,8 +308,8 @@
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Margin="1,0,0,0">
<ToggleButton IsChecked="{Binding ElementName=expanderRight,Path=IsExpanded}" Background="{DynamicResource WhiteBrush}" Style="{StaticResource ExpanderToggleButton}"/>
<ListBox x:Name="listBox" SelectedIndex="0" Padding="0,0,0,10" BorderThickness="0" Style="{StaticResource DefaultListBox}">
<ToggleButton Height="25" IsChecked="{Binding ElementName=expanderRight,Path=IsExpanded}" Background="{DynamicResource WhiteBrush}" Style="{StaticResource AIStudio.DiagramApp.Styles.ToggleButton.Expander}"/>
<ListBox x:Name="listBox" SelectedIndex="0" Padding="0,0,0,10" BorderThickness="0" Style="{StaticResource AIStudio.DiagramApp.Styles.ListBox}">
<iconPacks:PackIconMaterial Kind="FormatColorFill" Width="18" Height="18" Margin="8"/>
<iconPacks:PackIconMaterial Kind="ViewGridOutline" Width="18" Height="18" Margin="8" />
<iconPacks:PackIconMaterial Kind="Image" Width="18" Height="18" Margin="8"/>
@@ -317,7 +317,7 @@
</ListBox>
</StackPanel>
<dd:BorderResizeThumb Width="1" Margin="0,0,-3,0" ResizeElement="{Binding ElementName=control}" Cursor="SizeWE" VerticalAlignment="Stretch" HorizontalAlignment="Left" Visibility="{Binding ElementName=expanderRight,Path=IsExpanded,Converter={StaticResource BooleanToVisibilityConverter}}"/>
<Expander x:Name="expanderRight" Grid.Column="1" IsExpanded="True" ExpandDirection="Right" Style="{StaticResource DefaultAutoHideExpander}" Padding="0">
<Expander x:Name="expanderRight" Grid.Column="1" IsExpanded="True" ExpandDirection="Right" Style="{StaticResource AIStudio.DiagramApp.Styles.Expander.AutoHide}" Padding="0">
<Control x:Name="control" Width="200" MinWidth="100" MaxWidth="500">
<Control.Style>
<Style TargetType="Control">

View File

@@ -0,0 +1,150 @@
<UserControl x:Class="AIStudio.Wpf.DiagramApp.Views.SearchControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:AIStudio.Wpf.DiagramApp.Views"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Border BorderBrush="Gray" Background="{DynamicResource WindowBackgroundBrush}" BorderThickness="1" >
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid Height="24">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
<ColumnDefinition Width="*" SharedSizeGroup="Column2"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column3"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column4"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column5"/>
</Grid.ColumnDefinitions>
<ToggleButton x:Name="replaceToggle" Width="20" Height="20" Padding="5,0" ToolTip="查找与替换切换">
<ToggleButton.Style>
<Style BasedOn="{StaticResource AIStudio.Mind.Styles.Button.Flat}" TargetType="{x:Type ToggleButton}">
<Setter Property="Content">
<Setter.Value>
<Path Stretch="Uniform" Fill="Black" Data="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z"></Path>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Trigger.Setters>
<Setter Property="Content">
<Setter.Value>
<Path Stretch="Uniform" Fill="Black" Data="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z"></Path>
</Setter.Value>
</Setter>
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
<TextBox Grid.Column="1" Width="200" x:Name="txtsearch" Text="{Binding PageViewModel.DiagramViewModel.SearchText,Mode=OneWayToSource}" VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding PageViewModel.DiagramViewModel.SearchDownCommand}" CommandParameter="{Binding ElementName=txtsearch,Path=Text}"/>
</TextBox.InputBindings>
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{Binding PageViewModel.DiagramViewModel.SearchDownCommand}" CommandParameter="{Binding ElementName=txtsearch,Path=Text}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
<Line Grid.Column="1" X1="0" Y1="0" X2="0" Y2="100" Stroke="Gray" StrokeThickness="0.5" HorizontalAlignment="Right"></Line>
<Button Grid.Column="2" Width="20" Height="20" Padding="5,0" ToolTip="查找上一个" Style="{StaticResource AIStudio.Mind.Styles.Button.Flat}" Command="{Binding PageViewModel.DiagramViewModel.SearchUpCommand}" CommandParameter="{Binding ElementName=txtsearch,Path=Text}">
<Path Stretch="Uniform" Fill="Black" Data="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z"></Path>
</Button>
<Button Grid.Column="3" Width="20" Height="20" Padding="5,0" ToolTip="查找下一个" Style="{StaticResource AIStudio.Mind.Styles.Button.Flat}" Command="{Binding PageViewModel.DiagramViewModel.SearchDownCommand}" CommandParameter="{Binding ElementName=txtsearch,Path=Text}">
<Path Stretch="Uniform" Fill="Black" Data="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z"></Path>
</Button>
<Button Grid.Column="4" Width="20" Height="20" Padding="5,0" ToolTip="关闭" Style="{StaticResource AIStudio.Mind.Styles.Button.Flat}" Command="{Binding PageViewModel.DiagramViewModel.CloseSearchCommand}">
<Path Stretch="Uniform" Fill="Black" Data="M500 455.8125L727.875 227.8749999999999L772.1250000000001 272.0625L544.1875 500L772.1250000000001 727.875L727.9375 772.125L500 544.1875L272.125 772.125L227.9375000000001 727.875L455.8125 500L227.9375000000001 272.125L272.125 227.8749999999999L500 455.8125z"></Path>
</Button>
<Line Grid.ColumnSpan="5" X1="0" Y1="0" X2="300" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom"></Line>
</Grid>
<Grid Grid.Row="1" Height="24" Visibility="{Binding ElementName=replaceToggle,Path=IsChecked,Converter={StaticResource BooleanToVisibilityConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
<ColumnDefinition Width="*" SharedSizeGroup="Column2"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column3"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column4"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column5"/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="1" x:Name="txtreplace" Text="{Binding PageViewModel.DiagramViewModel.ReplaceText,Mode=OneWayToSource}" VerticalContentAlignment="Center" BorderThickness="0" Background="Transparent">
</TextBox>
<Line Grid.Column="1" X1="0" Y1="0" X2="0" Y2="100" Stroke="Gray" StrokeThickness="0.5" HorizontalAlignment="Right"></Line>
<Button Grid.Column="2" Width="20" Height="20" Padding="5,0" ToolTip="替换" Style="{StaticResource AIStudio.Mind.Styles.Button.Flat}" Command="{Binding PageViewModel.DiagramViewModel.ReplaceCommand}">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource ObjectConverter}">
<MultiBinding.Bindings>
<Binding ElementName="txtsearch" Path="Text"/>
<Binding ElementName="txtreplace" Path="Text"/>
</MultiBinding.Bindings>
</MultiBinding>
</Button.CommandParameter>
<Path Stretch="Uniform" Fill="Black" Data="M940.3 761.5c-8.5-13.3-19.3-24.8-31.9-34.1 13.3-19.5 20.7-43.7 20.7-69.2 0-61.5-43-111.5-95.9-111.5H671.8c-29.3 0-53.1 23.8-53.1 53.1v304c0 29.3 23.8 53.1 53.1 53.1h160.4c34.3 0 66.6-13.5 90.9-37.9 24.1-24.2 37.3-56 37.1-89.7 0-24.2-6.9-47.6-19.9-67.8z m-67.6 107.7c-10.6 10.6-24.7 16.5-39.5 16.5H689.8V773.6h143.3c14.8 0 28.9 5.9 39.5 16.5 10.6 10.6 16.5 24.7 16.5 39.5s-5.8 29-16.4 39.6z m-25.3-178.9c-2.1 2.5-7.7 8.4-14.3 8.4H689.8v-80.9h143.3c6.6 0 12.2 5.9 14.3 8.4 6.6 8 10.6 20 10.6 32.1 0 12-3.9 24-10.6 32zM456 406.6l-128-320C322.5 73 309.3 64 294.5 64h-64c-14.7 0-28 9-33.4 22.6l-128 320c-7.4 18.5 1.6 39.4 20.1 46.8 18.5 7.4 39.4-1.6 46.8-20.1L178.1 328H347l42.1 105.4c5.6 14.1 19.1 22.6 33.4 22.6 4.5 0 9-0.8 13.4-2.6 18.5-7.4 27.5-28.3 20.1-46.8zM206.9 256l48-120h15.3l48 120H206.9z m345.8 582.3l-113.5 67c-5.7 3.4-12 5-18.3 5-12.3 0-24.3-6.3-31-17.7-10.1-17.1-4.4-39.2 12.7-49.3l38.9-23c-47.1-14.5-88.6-35.2-124.1-62-40.2-30.3-72.5-68.1-96-112.5-39.9-75.3-40.6-143.8-40.6-146.7v-0.1c0-19.9 16.1-36 36-36s35.9 16.1 36 35.9v-0.2c0 0.6 1 56.1 33.6 116 18.7 34.4 44.3 63.8 75.9 87.2 29 21.5 63.4 38.3 102.6 50.1l-23-44.1c-9.2-17.6-2.4-39.4 15.3-48.6 17.6-9.2 39.4-2.4 48.6 15.3l60.5 115.9c8.9 17.1 2.9 38.1-13.6 47.8z"></Path>
</Button>
<Button Grid.Column="3" Width="20" Height="20" Padding="5,0" ToolTip="全部替换" Style="{StaticResource AIStudio.Mind.Styles.Button.Flat}" Command="{Binding PageViewModel.DiagramViewModel.ReplaceAllCommand}">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource ObjectConverter}">
<MultiBinding.Bindings>
<Binding ElementName="txtsearch" Path="Text"/>
<Binding ElementName="txtreplace" Path="Text"/>
</MultiBinding.Bindings>
</MultiBinding>
</Button.CommandParameter>
<Path Stretch="Uniform" Fill="Black" Data="M618.368 905.813333a88.32 88.32 0 0 1-87.082667-87.082666v-209.408a88.362667 88.362667 0 0 1 87.082667-87.082667h209.408a88.234667 88.234667 0 0 1 87.082667 87.082667v209.408a88.192 88.192 0 0 1-87.082667 87.082666z m-22.912-296.490666v209.408a24.448 24.448 0 0 0 22.912 22.997333h209.408a24.704 24.704 0 0 0 23.168-22.997333v-209.408a24.661333 24.661333 0 0 0-23.168-22.912h-209.408a24.448 24.448 0 0 0-23.04 22.912zM224.853333 826.666667a260.010667 260.010667 0 0 1-69.077333-169.514667h-33.237333l66.090666-110.250667 66.346667 110.250667H219.733333a196.266667 196.266667 0 0 0 51.2 125.354667 213.333333 213.333333 0 0 0 148.992 59.264 32.042667 32.042667 0 1 1 0 64 277.034667 277.034667 0 0 1-195.029333-79.274667z m-28.842666-324.821334a88.405333 88.405333 0 0 1-87.082667-87.082666v-209.066667a88.448 88.448 0 0 1 87.082667-87.338667h209.408a88.405333 88.405333 0 0 1 87.082666 87.338667v209.066667a86.144 86.144 0 0 1-87.082666 87.082666z m-23.168-296.32v209.066667a24.917333 24.917333 0 0 0 23.168 23.168h209.408a22.272 22.272 0 0 0 23.168-23.168v-209.066667a24.704 24.704 0 0 0-23.168-23.168H196.010667a24.704 24.704 0 0 0-23.082667 23.125334z m596.181333 165.077334h35.328a196.693333 196.693333 0 0 0-51.2-128.853334 213.333333 213.333333 0 0 0-149.333333-59.434666 32.085333 32.085333 0 0 1 0-64 277.333333 277.333333 0 0 1 195.157333 79.232 261.205333 261.205333 0 0 1 69.504 173.184h32.853333l-62.421333 110.250666z"></Path>
</Button>
<Line Grid.ColumnSpan="5" X1="0" Y1="0" X2="300" Y2="0" Stroke="Gray" StrokeThickness="0.5" VerticalAlignment="Bottom"></Line>
</Grid>
<Grid Grid.Row="2" Height="24">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<ToggleButton Width="20" Height="20" Padding="2,0" ToolTip="区分大小写" IsChecked="{Binding PageViewModel.DiagramViewModel.SearchCaseMatch}">
<Path Stretch="Uniform" Fill="Black" Data="M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6Z"></Path>
<ToggleButton.Style>
<Style BasedOn="{StaticResource AIStudio.Mind.Styles.Button.Flat}" TargetType="{x:Type ToggleButton}">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Trigger.Setters>
<Setter Property="Background" Value="#cce4f7" />
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
<ToggleButton Width="20" Height="20" Padding="2,0" ToolTip="全字匹配" IsChecked="{Binding PageViewModel.DiagramViewModel.SearchWholeWordMatch}">
<Path Stretch="Uniform" Fill="Black" RenderTransformOrigin="0.5,0.5" Data="M62.5 875H937.5V812.5H62.5V875zM875 750H812.5V250H875V750zM704.5 475.8125A147.06250000000003 147.06250000000003 0 0 1 682 524.9375A109.125 109.125 0 0 1 643.9375 558.0625A114.5 114.5 0 0 1 589.8125000000001 570.125C577.4375 570.125 566.0625 568.625 555.625 565.5624999999999A109.99999999999999 109.99999999999999 0 0 1 527.3125000000001 552.7499999999999A107.75 107.75 0 0 1 504.5000000000001 532.875L493.3125000000001 516.75V713.875H437.5V250H493.3125V285.9375L501.1875 274.9999999999999C506.625 268.6249999999999 513 263.1249999999999 520.1875 258.1874999999999C527.5000000000001 253.3124999999999 535.7500000000001 249.4374999999999 545.0625 246.5624999999999C554.375 243.6875 564.6875 242.3124999999999 576.1875 242.3124999999999C598.25 242.3124999999999 617.8125 246.7499999999999 634.7499999999999 255.5624999999999C651.7499999999999 264.5 665.9375 276.6874999999999 677.375 292.1874999999999C688.8124999999999 307.8124999999999 697.4374999999999 326.1249999999999 703.2499999999999 347.1249999999999C709.0624999999999 368.2499999999999 712 391.0624999999999 712 415.6874999999999A234.74999999999997 234.74999999999997 0 0 1 704.5 475.8124999999999zM612.0625 513.75C621.4999999999999 509.3125 629.6875 502.75 636.4375 494.1250000000001C643.25 485.375 648.5625 474.5625 652.375 461.8125000000001C655.5625 450.9375000000001 657.5000000000001 438.625 657.9375000000001 425.1250000000001L657.5000000000001 417.3125000000001C657.5000000000001 396.8750000000001 655.4375000000001 378.5625000000001 651.2500000000001 363.0000000000001A117.87500000000001 117.87500000000001 0 0 0 633.8750000000001 324.625C626.5625 314.5 617.6250000000001 306.8125 607.5625000000001 301.7500000000001C587.4375000000001 291.625 560.0625000000001 291.375 540.7500000000001 300.8125A79 79 0 0 0 516.1875 319.3125A79.5625 79.5625 0 0 0 502.5625 342.25S491.375 370.1874999999999 491.375 401.4374999999999C491.375 432.6874999999999 502.5625 464.0624999999999 502.5625 464.0624999999999C506.4375 475.1249999999999 511.0625 483.9374999999999 516.5625 490.9374999999999C523.6875000000001 499.8749999999999 532.5625 507.1249999999999 543.0625 512.4999999999999C553.5625 517.875 565.875 520.5625 579.75 520.5625C591.625 520.5625 602.5 518.25 612.0625 513.75zM937.5 187.5H62.5V125H937.5V187.5zM175.8125 375L130.3125 248.0625H62.5L64.0625 252.5624999999999L216.625 695.4375H275.4375L430.75 248.0624999999999H363.125L314.5 375H175.8125zM245.875 598.625H244.5000000000001L187.9375 426.5625H303.0000000000001L245.8750000000001 598.625z">
<Path.RenderTransform>
<ScaleTransform ScaleY="-1"/>
</Path.RenderTransform>
</Path>
<ToggleButton.Style>
<Style BasedOn="{StaticResource AIStudio.Mind.Styles.Button.Flat}" TargetType="{x:Type ToggleButton}">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Trigger.Setters>
<Setter Property="Background" Value="#cce4f7" />
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
<TextBlock Grid.Column="1" Margin="2,0,0,0" VerticalAlignment="Center" Text="{Binding PageViewModel.DiagramViewModel.SearchInfo}"/>
</StackPanel>
</Grid>
</Grid>
</Border>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace AIStudio.Wpf.DiagramApp.Views
{
/// <summary>
/// SearchControl.xaml 的交互逻辑
/// </summary>
public partial class SearchControl : UserControl
{
public SearchControl()
{
InitializeComponent();
}
}
}

View File

@@ -9,18 +9,24 @@
xmlns:flowchartmodel="clr-namespace:AIStudio.Wpf.Flowchart.Models;assembly=AIStudio.Wpf.Flowchart"
xmlns:sfcmodel="clr-namespace:AIStudio.Wpf.SFC.Models;assembly=AIStudio.Wpf.SFC"
xmlns:dd="https://gitee.com/akwkevin/aistudio.-wpf.-diagram"
xmlns:drop="urn:gong-wpf-dragdrop"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:conventer="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Converters;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
xmlns:command="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Commands;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
xmlns:svg="https://gitee.com/akwkevin/aistudio.-wpf.-test/tree/master/Controls/AIStudio.Wpf.Svg2XamlExtension"
xmlns:binding="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Commands;assembly=AIStudio.Wpf.DiagramDesigner.Additionals"
xmlns:Fluent="urn:fluent-ribbon"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<UserControl.Resources>
<ResourceDictionary>
<conventer:StringPathConverter x:Key="stringPathConverter"/>
<conventer:IntVisibilityConverter x:Key="IntVisibilityConverter"/>
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
<dd:EnumDescriptionConverter x:Key="EnumDescriptionConverter"/>
<command:CommandReference x:Key="DeleteItemCommandReference" Command="{Binding DeleteItemCommand}"/>
<dd:MathConverter x:Key="MathAddConverter" Operation="Add" />
<DataTemplate DataType="{x:Type model:ImageToolBoxData}">
<Grid Width="{Binding Width}" Height="{Binding Height}" ToolTip="{Binding Description}">
@@ -249,14 +255,14 @@
</Trigger>
</DataTemplate.Triggers>
</DataTemplate>
<DataTemplate DataType="{x:Type viewmodels:ToolBoxCategory}">
<DataTemplate DataType="{x:Type dd:ToolBoxCategory}">
<Grid Visibility="{Binding IsChecked,Converter={StaticResource boolToVisibilityConverter}}">
<Expander Header="{Binding Header}"
IsExpanded="{Binding IsExpanded}"
BorderThickness="0"
Background="Transparent"
Foreground="{DynamicResource Fluent.Ribbon.Brushes.LabelTextBrush}"
Style="{StaticResource DefaultAnimationExpander}">
Style="{StaticResource AIStudio.DiagramApp.Styles.Expander}">
<ItemsControl ItemsSource="{Binding ToolBoxItems}">
<ItemsControl.Template>
<ControlTemplate TargetType="{x:Type ItemsControl}">
@@ -292,7 +298,7 @@
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</Expander>
<Button Margin="5" ToolTip="移除" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding .}" Width="16" Height="16" HorizontalAlignment="Right" VerticalAlignment="Top" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
<Button Margin="5" ToolTip="移除" Command="{Binding DataContext.ToolBoxViewModel.DeleteCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding .}" Width="16" Height="16" HorizontalAlignment="Right" VerticalAlignment="Top" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
<Path Stretch="Fill" Margin="2" Fill="Red" Data="M0.7,0 L5,4.3 L9.3,0 L10,0.7 L5.7,5 L10,9.3 L9.3,10 L5,5.7 L0.7,10 L0,9.3 L4.3,5 L0,0.7 z" ></Path>
</Button>
</Grid>
@@ -305,7 +311,7 @@
BorderThickness="0"
Background="Transparent"
Foreground="{DynamicResource Fluent.Ribbon.Brushes.LabelTextBrush}"
Style="{StaticResource DefaultAnimationExpander}">
Style="{StaticResource AIStudio.DiagramApp.Styles.Expander}">
<Grid>
<Border BorderThickness="1" CornerRadius="5" Margin="5" Padding="10" Visibility="{Binding ToolBoxItems.Count, Converter={StaticResource IntVisibilityConverter}, ConverterParameter='0'}">
<Border.BorderBrush>
@@ -363,7 +369,7 @@
<Button Margin="0,5,2,5" ToolTip="导入到我的符号" Command="{Binding DataContext.ImportItemCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" Width="16" Height="16" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
<Path Stretch="Fill" Margin="2" Fill="{DynamicResource GrayBrush2}" Data="M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z" ></Path>
</Button>
<Button Margin="0,5,2,5" ToolTip="添加到我的符号" Command="{Binding DataContext.AddItemCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" Width="16" Height="16" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
<Button Margin="0,5,2,5" ToolTip="添加到我的符号" Command="{Binding DataContext.AddCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" Width="16" Height="16" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
<Path Stretch="Fill" Margin="2" Fill="{DynamicResource GrayBrush2}" Data="M938.666667 426.666667h-341.333334V85.333333c0-46.933333-38.4-85.333333-85.333333-85.333333s-85.333333 38.4-85.333333 85.333333v341.333334H85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333333s38.4 85.333333 85.333333 85.333333h341.333334v341.333334c0 46.933333 38.4 85.333333 85.333333 85.333333s85.333333-38.4 85.333333-85.333333v-341.333334h341.333334c46.933333 0 85.333333-38.4 85.333333-85.333333s-38.4-85.333333-85.333333-85.333333z" ></Path>
</Button>
<Button Margin="0,5,5,5" ToolTip="移除" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type UserControl}}}" CommandParameter="{Binding .}" Width="16" Height="16" Foreground="{DynamicResource BlackBrush}" Background="{DynamicResource WhiteBrush}" BorderBrush="Transparent">
@@ -376,17 +382,81 @@
</ResourceDictionary>
</UserControl.Resources>
<Grid>
<Expander x:Name="expanderLeft" ExpandDirection="Left" IsExpanded="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl}}" Style="{StaticResource DefaultAutoHideExpander}" Margin="0,0,1,0">
<Expander x:Name="expanderLeft" ExpandDirection="Left" IsExpanded="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl}}" Style="{StaticResource AIStudio.DiagramApp.Styles.Expander.AutoHide}" Margin="0,0,1,0">
<Expander.Header>
<DockPanel Height="26">
<ToggleButton DockPanel.Dock="Right" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl}}" Background="{DynamicResource Fluent.Ribbon.Brushes.AccentBaseColorBrush}" Style="{StaticResource DefaultToggleButton}">
<ToggleButton DockPanel.Dock="Right" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl}}" Background="{DynamicResource Fluent.Ribbon.Brushes.AccentBaseColorBrush}" Style="{StaticResource AIStudio.DiagramApp.Styles.ToggleButton}">
<Path Fill="Black" Stretch="Fill" Width="16" Height="16" Margin="10,3" Data="M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z"/>
</ToggleButton>
<TextBlock Text="符号库" DockPanel.Dock="Left" VerticalAlignment="Center"/>
<ToggleButton x:Name="shift" HorizontalAlignment="Left" Width="130" ToolTip="符号库与表单切换">
<ToggleButton.Style>
<Style BasedOn="{StaticResource AIStudio.Mind.Styles.Button.Flat}" TargetType="{x:Type ToggleButton}">
<Setter Property="Content">
<Setter.Value>
<StackPanel Orientation="Horizontal">
<TextBlock Text="符号库" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
<Path Width="18" Height="18" Stretch="Uniform" Fill="Black" Data="M234.666667 430.933333H128l85.333333-81.066666L345.6 213.333333l51.2 51.2-81.066667 81.066667H896V426.666667H234.666667v4.266666zM793.6 554.666667H896l-85.333333 81.066666-132.266667 132.266667-51.2-51.2 81.066667-81.066667H128V554.666667h665.6z"></Path>
<TextBlock Text="页面" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
</StackPanel>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Trigger.Setters>
<Setter Property="Content">
<Setter.Value>
<StackPanel Orientation="Horizontal">
<TextBlock Text="页面" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
<Path Width="18" Height="18" Stretch="Uniform" Fill="Black" Data="M234.666667 430.933333H128l85.333333-81.066666L345.6 213.333333l51.2 51.2-81.066667 81.066667H896V426.666667H234.666667v4.266666zM793.6 554.666667H896l-85.333333 81.066666-132.266667 132.266667-51.2-51.2 81.066667-81.066667H128V554.666667h665.6z"></Path>
<TextBlock Text="符号库" Width="50" TextAlignment="Center" VerticalAlignment="Center"/>
</StackPanel>
</Setter.Value>
</Setter>
</Trigger.Setters>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</DockPanel>
</Expander.Header>
<Border>
<Grid x:Name="grid" Width="225" MinWidth="100" MaxWidth="500">
<Grid x:Name="grid" Width="225" MinWidth="100" MaxWidth="500">
<i:Interaction.Triggers>
<i:DataTrigger Binding="{Binding ElementName=shift,Path=IsChecked}" Value="False">
<i:GoToStateAction StateName="ShowTool" />
</i:DataTrigger>
<i:DataTrigger Binding="{Binding ElementName=shift,Path=IsChecked}" Value="True">
<i:GoToStateAction StateName="ShowPage" />
</i:DataTrigger>
</i:Interaction.Triggers>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="VisualStates">
<VisualState x:Name="ShowTool">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="tool" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="page" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="ShowPage">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="tool" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="page" Duration="0">
<DiscreteObjectKeyFrame KeyTime="0:0:0" Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="tool" DataContext="{Binding ToolBoxViewModel}">
<Grid.ContextMenu>
<ContextMenu ItemsSource="{Binding ToolBoxCategory}">
<ContextMenu.ItemContainerStyle>
@@ -408,7 +478,77 @@
</ItemsControl>
</ScrollViewer>
</Grid>
</Border>
<Grid x:Name="page" Visibility="Collapsed">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ListBox ItemsSource="{Binding PageViewModel.DiagramViewModels}"
SelectedItem="{Binding PageViewModel.DiagramViewModel}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
BorderBrush="Transparent"
Padding="0"
Margin="0,0,3,0"
Background="Transparent"
HorizontalContentAlignment="Stretch"
drop:DragDrop.CanDragWithMouseRightButton="True"
drop:DragDrop.IsDragSource="True"
drop:DragDrop.IsDropTarget="True"
drop:DragDrop.DropTargetAdornerBrush="Coral"
drop:DragDrop.UseDefaultEffectDataTemplate="True">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid >
<Border Margin="3" Height="100" Background="{Binding Thumbnail}" BorderThickness="1" BorderBrush="LightGray">
<Border.ContextMenu>
<ContextMenu>
<MenuItem Header="增加页" Command="{binding:ControlBinding PageViewModel.AddPageCommand}" CommandParameter="{Binding .}"/>
<MenuItem Header="复制页" Command="{binding:ControlBinding PageViewModel.AddCopyPageCommand}" CommandParameter="{Binding .}"/>
<MenuItem Header="重命名页" Command="{binding:ControlBinding PageViewModel.RenamePageCommand}" CommandParameter="{Binding .}"/>
<MenuItem Header="删除页" Command="{binding:ControlBinding PageViewModel.DeletePageCommand}" CommandParameter="{Binding .}"/>
</ContextMenu>
</Border.ContextMenu>
<Grid>
<TextBlock Text="{Binding Name}" HorizontalAlignment="Center" VerticalAlignment="Center" >
<TextBlock.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick" Command="{binding:ControlBinding PageViewModel.RenamePageCommand}" CommandParameter="{Binding .}"/>
</TextBlock.InputBindings>
</TextBlock>
<TextBox x:Name="renametextbox" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Name,UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding IsEditName,Converter={StaticResource BooleanToVisibilityConverter}}">
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{binding:ControlBinding PageViewModel.EndRenamePageCommand}" CommandParameter="{Binding .}"/>
</TextBox.InputBindings>
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Visibility,ElementName=renametextbox}" Value="Visible">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=renametextbox}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
<i:Interaction.Triggers>
<i:EventTrigger EventName="LostFocus">
<i:InvokeCommandAction Command="{binding:ControlBinding PageViewModel.EndRenamePageCommand}" CommandParameter="{Binding .}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBox>
</Grid>
</Border>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Fluent:Button Size="Small" Grid.Row="1" HorizontalAlignment="Center" Icon="{iconPacks:Material Kind=Plus}" Command="{Binding PageViewModel.AddPageCommand}"/>
</Grid>
</Grid>
</Expander>
<dd:BorderResizeThumb Width="1" Margin="-3,0,0,0" ResizeElement="{Binding ElementName=grid}" Cursor="SizeWE" HorizontalAlignment="Right" VerticalAlignment="Stretch" Visibility="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType=views:ToolBoxControl},Converter={StaticResource BooleanToVisibilityConverter}}"/>
</Grid>

View File

@@ -9,16 +9,22 @@
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.1</Version>
<Version>1.1.7</Version>
<Description>一个Wpf的Diagram控件帮助库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="Images\Bold.png" />
<None Remove="Images\Italic.png" />
<None Remove="Images\Underline.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.8.0" />
<PackageReference Include="AIStudio.Wpf.Svg2XamlExtension" Version="1.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="ZXing.Net" Version="0.16.8" />
<PackageReference Include="ZXing.Net" Version="0.16.9" />
</ItemGroup>
<ItemGroup>
@@ -32,4 +38,10 @@
</None>
</ItemGroup>
<ItemGroup>
<Resource Include="Images\Bold.png" />
<Resource Include="Images\Italic.png" />
<Resource Include="Images\Underline.png" />
</ItemGroup>
</Project>

View File

@@ -1,42 +1,51 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Additionals</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Additionals</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.1</Version>
<Description>一个Wpf的Diagram控件帮助库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="A.ico" />
<None Remove="Images\Bold.png" />
<None Remove="Images\Italic.png" />
<None Remove="Images\Underline.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.8.0" />
<PackageReference Include="AIStudio.Wpf.Svg2XamlExtension" Version="1.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="ZXing.Net" Version="0.16.9" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.Controls" Version="1.1.45" />
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Nodes\CustomDefinedNodeView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Accessibility.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.controls\1.1.45\lib\net5.0-windows7.0\AIStudio.Wpf.Controls.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\net5.0-windows\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net5.0-windows\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\net5.0-windows\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Accessibility.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net6.0-windows\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net5.0-windows7.0\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
@@ -71,244 +80,230 @@
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.39\lib\net5.0-windows7.0\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\netstandard.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.VisualBasic.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\net5.0-windows7.0\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\ReachFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Formats.Asn1.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Http.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Printing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Buffers.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\net6.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Formats.Asn1.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\net6.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Http.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\net5.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\taglibsharp\2.2.0\lib\netstandard2.0\TagLibSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.OpenSsl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Forms.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\ref\net6.0\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\ref\net6.0\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\net5.0\zxing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\net6.0\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Controls\NotDoneYetControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Controls\TitleControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Algorithms\ReconnectLinksToClosestPortsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Animations\LineAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Animations\PathAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomLinkView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Groups\GroupingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\LabelsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\MarkersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\PathGeneratorsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\RoutersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\SnappingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\VerticesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\LockedView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\CustomDefinedNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\PortlessLinksView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\SvgView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\PerformanceView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\SnapToGridView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\ZoomView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\GeneratedInternalTypeHelper.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\Barcode.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\GradientStopControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\SliderRotation.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<ItemGroup>
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.101\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.101\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\Gu.Roslyn.Extensions.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\WpfAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.12\analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\analyzers/dotnet/System.Windows.Forms.Analyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.12\analyzers/dotnet/cs/System.Windows.Forms.Analyzers.CSharp.dll" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

View File

@@ -0,0 +1,309 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Additionals</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Additionals</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.1.7</Version>
<Description>一个Wpf的Diagram控件帮助库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="Images\Bold.png" />
<None Remove="Images\Italic.png" />
<None Remove="Images\Underline.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.8.0" />
<PackageReference Include="AIStudio.Wpf.Svg2XamlExtension" Version="1.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="ZXing.Net" Version="0.16.9" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\Accessibility.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net6.0-windows\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net5.0-windows7.0\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\Microsoft.VisualBasic.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\net5.0-windows7.0\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Buffers.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\net6.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Formats.Asn1.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\net6.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Http.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\net5.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.OpenSsl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Forms.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\ref\net6.0\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\ref\net6.0\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\net6.0\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\Barcode.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\GradientStopControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\Controls\SliderRotation.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net6.0-windows\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.304\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\sdk\7.0.304\Sdks\Microsoft.NET.Sdk\targets\..\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\Gu.Roslyn.Extensions.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\WpfAnalyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.18\analyzers/dotnet/cs/System.Text.Json.SourceGeneration.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\analyzers/dotnet/System.Windows.Forms.Analyzers.dll" />
<Analyzer Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\6.0.18\analyzers/dotnet/cs/System.Windows.Forms.Analyzers.CSharp.dll" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

View File

@@ -1,27 +1,52 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.Flowchart</AssemblyName>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Additionals</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.Flowchart</_TargetAssemblyProjectName>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Additionals</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.1</Version>
<Description>一个Wpf的Diagram控件帮助库</Description>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MathParser.org-mXparser" Version="4.4.2" />
<None Remove="Images\Bold.png" />
<None Remove="Images\Italic.png" />
<None Remove="Images\Underline.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramHelper\AIStudio.Wpf.DiagramHelper.csproj" />
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.8.0" />
<PackageReference Include="AIStudio.Wpf.Svg2XamlExtension" Version="1.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="ZXing.Net" Version="0.16.9" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramHelper\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramHelper.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\netcoreapp3.1\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
@@ -55,7 +80,6 @@
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mathparser.org-mxparser\4.4.2\lib\netcoreapp31\MathParser.org-mXparser.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
@@ -77,11 +101,10 @@
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\util.svg2xaml\1.2.0\lib\netcoreapp3.1\Svg2Xaml.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\util.svg2xamltestextension\1.2.5\lib\netcoreapp3.1\Svg2XamlTestExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\netstandard2.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
@@ -143,6 +166,7 @@
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\netstandard2.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
@@ -260,10 +284,13 @@
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\netcoreapp3.1\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\obj\Debug\netcoreapp3.1\Controls\ToolBoxControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\netcoreapp3.1\Controls\Barcode.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\netcoreapp3.1\Controls\GradientStopControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\netcoreapp3.1\Controls\SliderRotation.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\Gu.Roslyn.Extensions.dll" />

View File

@@ -0,0 +1,235 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Additionals</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Additionals</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.1</Version>
<Description>一个Wpf的Diagram控件帮助库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="Images\Bold.png" />
<None Remove="Images\Italic.png" />
<None Remove="Images\Underline.png" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Fluent.Ribbon" Version="8.0.3" />
<PackageReference Include="MahApps.Metro.IconPacks" Version="4.8.0" />
<PackageReference Include="AIStudio.Wpf.Svg2XamlExtension" Version="1.2.2" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="ZXing.Net" Version="0.16.9" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net461\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net461\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\net45\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\net452\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\net45\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netfx.force.conflicts.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\net45\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.AppContext.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\netstandard2.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Console.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\netstandard2.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ObjectModel.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\netstandard2.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.3\ref\net461\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.threading.tasks.extensions\4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Web.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationClientsideProviders.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\net40\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\net461\zxing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.9\lib\net461\zxing.presentation.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Duplex.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Http.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.NetTcp.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Security.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net461\Controls\Barcode.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net461\Controls\GradientStopControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net461\Controls\SliderRotation.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\Debug\net461\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\Gu.Roslyn.Extensions.dll" />
<Analyzer Include="C:\Users\Administrator\.nuget\packages\wpfanalyzers\3.5.4\analyzers\dotnet\cs\WpfAnalyzers.dll" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

View File

@@ -116,6 +116,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
Margin = 0
}
};
writer.Renderer = new GeometryRenderer();
var image = writer.Write(Text ?? "AIStudio画板");
imageBarcodeEncoderGeometry.Data = image;
#else

View File

@@ -0,0 +1,100 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Controls"
xmlns:o="http://schemas.microsoft.com/winfx/2006/xaml/presentation/options">
<Geometry o:Freeze="True" x:Key="LeftGeometry">M394.24 512L683.52 248.32c10.24-10.24 10.24-25.6 0-35.84-10.24-10.24-25.6-10.24-35.84 0l-307.2 279.04c-5.12 5.12-7.68 12.8-7.68 20.48 0 7.68 2.56 15.36 7.68 20.48l307.2 279.04c10.24 10.24 25.6 10.24 35.84 0 10.24-10.24 10.24-25.6 0-35.84L394.24 512z</Geometry>
<Geometry o:Freeze="True" x:Key="RightGeometry">M4.1666641,0 C5.2083321,0 6.25,0.41666794 7.0833321,1.25 L57.083331,46.666664 C57.916664,47.499998 58.33333,48.749998 58.333329,49.999998 58.33333,51.249997 57.916664,52.499997 57.083331,53.333331 L7.0833321,98.749996 C5.4166641,100.41666 2.9166641,100.41666 1.2499962,98.749996 -0.41666794,97.083328 -0.41666794,94.583328 1.2499962,92.916664 L48.333331,49.999998 1.2499962,7.0833321 C-0.41666794,5.4166641 -0.41666794,2.9166641 1.2499962,1.25 2.0833282,0.41666794 3.1249962,0 4.1666641,0 z</Geometry>
<Style x:Key="CarouselListBoxItemStyle" TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="VerticalContentAlignment" Value="Stretch"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Height" Value="{Binding ActualHeight, RelativeSource={RelativeSource AncestorType=ItemsControl}}"/>
</Style>
<ItemsPanelTemplate x:Key="CarouselListBoxItemPanelTemplate">
<StackPanel FocusVisualStyle="{x:Null}" Orientation="Horizontal" HorizontalAlignment="Left"/>
</ItemsPanelTemplate>
<Style x:Key="CarouselListBox" TargetType="ListBox">
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="False"/>
<Setter Property="ItemsPanel" Value="{StaticResource CarouselListBoxItemPanelTemplate}"/>
<Setter Property="ItemContainerStyle" Value="{StaticResource CarouselListBoxItemStyle}"/>
</Style>
<Style x:Key="CarouselPateButton" TargetType="RadioButton">
<Setter Property="Margin" Value="5,0"/>
<Setter Property="Width" Value="10"/>
<Setter Property="Height" Value="10"/>
<Setter Property="Background" Value="White"/>
<Setter Property="BorderBrush" Value="{Binding Path=BorderBrush, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=controls:Carousel}}"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Border CornerRadius="5" SnapsToDevicePixels="true" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}"/>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Opacity" Value=".9"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Opacity" Value=".6"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="{Binding Path=BorderBrush, RelativeSource={RelativeSource Mode=Self}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="CarouselStyle" TargetType="controls:Carousel" BasedOn="{StaticResource CarouselListBox}">
<Setter Property="PageButtonStyle" Value="{StaticResource CarouselPateButton}"/>
<Setter Property="Background" Value="White"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:Carousel">
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="GridTop" Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:.1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="FrameworkElement.MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="GridTop" Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:.1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
<Grid ClipToBounds="True">
<ItemsPresenter x:Name="PART_ItemsControl" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" HorizontalAlignment="Left"/>
<Grid x:Name="GridTop" Opacity="0">
<Button x:Name="Part_PreButton" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="30,0,0,0" Style="{StaticResource AIStudio.Styles.Button.Plain}">
<Border Width="50" Height="100" Background="{TemplateBinding Background}" CornerRadius="4">
<Path Margin="16" Fill="White" Data="{StaticResource LeftGeometry}" Stretch="Uniform"/>
</Border>
</Button>
<Button x:Name="Part_NextButton" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0,0,30,0" Style="{StaticResource AIStudio.Styles.Button.Plain}">
<Border Width="50" Height="100" Background="{TemplateBinding Background}" CornerRadius="4">
<Path Margin="16" Fill="White" Data="{StaticResource RightGeometry}" Stretch="Uniform"/>
</Border>
</Button>
</Grid>
<StackPanel Name="PART_PanelPage" Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,0,0,20"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource CarouselStyle}" TargetType="{x:Type controls:Carousel}"/>
</ResourceDictionary>

View File

@@ -0,0 +1,336 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Markup;
using System.Windows.Threading;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
{
/// <summary>
/// 轮播控件
/// </summary>
[DefaultProperty("Items")]
[ContentProperty("Items")]
[TemplatePart(Name = ElementPanelPage, Type = typeof(Panel))]
[TemplatePart(Name = ElementItemsControl, Type = typeof(ItemsPresenter))]
[TemplatePart(Name = Part_PreButton, Type = typeof(Button))]
[TemplatePart(Name = Part_NextButton, Type = typeof(Button))]
public class Carousel : ListBox, IDisposable
{
#region Constants
private const string ElementPanelPage = "PART_PanelPage";
private const string ElementItemsControl = "PART_ItemsControl";
private const string Part_PreButton = "Part_PreButton";
private const string Part_NextButton = "Part_NextButton";
#endregion Constants
#region Data
private bool _isDisposed;
private Panel _panelPage;
private bool _appliedTemplate;
private ItemsPresenter _itemsControl;
private Button _btnPre;
private Button _btnNext;
private int _pageIndex = -1;
private RadioButton _selectedButton;
private DispatcherTimer _updateTimer;
private readonly List<double> _widthList = new List<double>();
#endregion Data
public override void OnApplyTemplate()
{
_appliedTemplate = false;
_panelPage?.RemoveHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ButtonPages_OnClick));
base.OnApplyTemplate();
_itemsControl = GetTemplateChild(ElementItemsControl) as ItemsPresenter;
_panelPage = GetTemplateChild(ElementPanelPage) as Panel;
if (_btnPre != null)
{
_btnPre.Click -= ButtonPrev_OnClick;
}
if (_btnNext != null)
{
_btnNext.Click -= ButtonNext_OnClick;
}
_btnPre = GetTemplateChild(Part_PreButton) as Button;
_btnNext = GetTemplateChild(Part_NextButton) as Button;
if (_btnPre != null)
{
_btnPre.Click += ButtonPrev_OnClick;
}
if (_btnNext != null)
{
_btnNext.Click += ButtonNext_OnClick;
}
if (!CheckNull()) return;
_panelPage.AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(ButtonPages_OnClick));
_appliedTemplate = true;
Update();
}
private void Update()
{
TimerSwitch(AutoRun);
UpdatePageButtons(_pageIndex);
}
private bool CheckNull() => !(_itemsControl == null || _panelPage == null);
public static readonly DependencyProperty AutoRunProperty = DependencyProperty.Register(
"AutoRun", typeof(bool), typeof(Carousel), new PropertyMetadata(false, (o, args) => {
var ctl = (Carousel)o;
ctl.TimerSwitch((bool)args.NewValue);
}));
public static readonly DependencyProperty IntervalProperty = DependencyProperty.Register(
"Interval", typeof(TimeSpan), typeof(Carousel), new PropertyMetadata(TimeSpan.FromSeconds(2)));
public static readonly DependencyProperty ExtendWidthProperty = DependencyProperty.Register(
"ExtendWidth", typeof(double), typeof(Carousel), new PropertyMetadata(0d));
public double ExtendWidth
{
get => (double)GetValue(ExtendWidthProperty);
set => SetValue(ExtendWidthProperty, value);
}
public static readonly DependencyProperty IsCenterProperty = DependencyProperty.Register(
"IsCenter", typeof(bool), typeof(Carousel), new PropertyMetadata(false));
public bool IsCenter
{
get => (bool)GetValue(IsCenterProperty);
set => SetValue(IsCenterProperty, value);
}
public static readonly DependencyProperty PageButtonStyleProperty = DependencyProperty.Register(
"PageButtonStyle", typeof(Style), typeof(Carousel), new PropertyMetadata(default(Style)));
public Style PageButtonStyle
{
get => (Style)GetValue(PageButtonStyleProperty);
set => SetValue(PageButtonStyleProperty, value);
}
public Carousel()
{
Loaded += (s, e) => UpdatePageButtons();
IsVisibleChanged += Carousel_IsVisibleChanged;
}
~Carousel() => Dispose();
public void Dispose()
{
if (_isDisposed) return;
IsVisibleChanged -= Carousel_IsVisibleChanged;
_updateTimer.Stop();
_isDisposed = true;
GC.SuppressFinalize(this);
}
private void Carousel_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (_updateTimer == null) return;
if (IsVisible)
{
_updateTimer.Tick += UpdateTimer_Tick;
_updateTimer.Start();
}
else
{
_updateTimer.Stop();
_updateTimer.Tick -= UpdateTimer_Tick;
}
}
protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e)
{
base.OnItemsChanged(e);
UpdatePageButtons();
}
/// <summary>
/// 是否自动跳转
/// </summary>
public bool AutoRun
{
get => (bool)GetValue(AutoRunProperty);
set => SetValue(AutoRunProperty, value);
}
/// <summary>
/// 跳转时间间隔
/// </summary>
public TimeSpan Interval
{
get => (TimeSpan)GetValue(IntervalProperty);
set => SetValue(IntervalProperty, value);
}
/// <summary>
/// 页码
/// </summary>
public int PageIndex
{
get => _pageIndex;
set
{
if (Items.Count == 0) return;
if (_pageIndex == value) return;
if (value < 0)
_pageIndex = Items.Count - 1;
else if (value >= Items.Count)
_pageIndex = 0;
else
_pageIndex = value;
UpdatePageButtons(_pageIndex);
}
}
/// <summary>
/// 计时器开关
/// </summary>
private void TimerSwitch(bool run)
{
if (!_appliedTemplate) return;
if (_updateTimer != null)
{
_updateTimer.Tick -= UpdateTimer_Tick;
_updateTimer.Stop();
_updateTimer = null;
}
if (!run) return;
_updateTimer = new DispatcherTimer
{
Interval = Interval
};
_updateTimer.Tick += UpdateTimer_Tick;
_updateTimer.Start();
}
private void UpdateTimer_Tick(object sender, EventArgs e)
{
if (IsMouseOver) return;
PageIndex++;
}
/// <summary>
/// 更新页按钮
/// </summary>
public void UpdatePageButtons(int index = -1)
{
if (!CheckNull()) return;
if (!_appliedTemplate) return;
var count = Items.Count;
_widthList.Clear();
_widthList.Add(0);
var width = .0;
foreach (FrameworkElement item in Items)
{
item.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
width += item.DesiredSize.Width;
_widthList.Add(width);
}
_itemsControl.Width = _widthList.Last() + ExtendWidth;
_panelPage.Children.Clear();
for (var i = 0; i < count; i++)
{
_panelPage.Children.Add(new RadioButton
{
Style = PageButtonStyle
});
}
if (index == -1 && count > 0) index = 0;
if (index >= 0 && index < count)
{
if (_panelPage.Children[index] is RadioButton button)
{
button.IsChecked = true;
button.RaiseEvent(new RoutedEventArgs(ButtonBase.ClickEvent, button));
UpdateItemsPosition();
}
}
}
/// <summary>
/// 更新项的位置
/// </summary>
private void UpdateItemsPosition()
{
if (!CheckNull()) return;
if (!_appliedTemplate) return;
if (Items.Count == 0) return;
if (!IsCenter)
{
_itemsControl.BeginAnimation(MarginProperty,
AnimationHelper.CreateAnimation(new Thickness(-_widthList[PageIndex], 0, 0, 0)));
}
else
{
var ctl = (FrameworkElement)Items[PageIndex];
var ctlWidth = ctl.DesiredSize.Width;
_itemsControl.BeginAnimation(MarginProperty,
AnimationHelper.CreateAnimation(
new Thickness(-_widthList[PageIndex] + (ActualWidth - ctlWidth) / 2, 0, 0, 0)));
}
}
protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo)
{
base.OnRenderSizeChanged(sizeInfo);
UpdateItemsPosition();
}
private void ButtonPages_OnClick(object sender, RoutedEventArgs e)
{
if (!CheckNull()) return;
_selectedButton = e.OriginalSource as RadioButton;
var index = _panelPage.Children.IndexOf(_selectedButton);
if (index != -1)
{
PageIndex = index;
}
}
private void ButtonPrev_OnClick(object sender, RoutedEventArgs e) => PageIndex--;
private void ButtonNext_OnClick(object sender, RoutedEventArgs e) => PageIndex++;
}
}

View File

@@ -0,0 +1,123 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Controls"
xmlns:converter="clr-namespace:AIStudio.Wpf.DiagramDesigner.Additionals.Converters">
<converter:CardClipConverter x:Key="CardClipConverter" />
<converter:Object2VisibilityConverter x:Key="Object2VisibilityConverter"/>
<SineEase x:Key="FlipEase" EasingMode="EaseInOut" />
<Style x:Key="FlipperStyle" TargetType="{x:Type controls:Flipper}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type controls:Flipper}">
<Border x:Name="Border">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="FlipStates">
<VisualStateGroup.Transitions>
<VisualTransition From="Unflipped" To="Flipped">
<Storyboard FillBehavior="HoldEnd">
<DoubleAnimationUsingKeyFrames Duration="0:0:0.4" Storyboard.TargetProperty="RotationY" Storyboard.TargetName="PART_Plane3D">
<EasingDoubleKeyFrame Value="0" KeyTime="0:0:0.0" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="-90" KeyTime="0:0:0.2" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="90" KeyTime="0:0:0.2" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="0" KeyTime="0:0:0.4" EasingFunction="{StaticResource FlipEase}" />
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BackContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" KeyTime="0:0:0.2" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FrontContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Collapsed}" KeyTime="0:0:0.2" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
<VisualTransition From="Flipped" To="Unflipped">
<Storyboard FillBehavior="HoldEnd">
<DoubleAnimationUsingKeyFrames Duration="0:0:0.4" Storyboard.TargetProperty="RotationY" Storyboard.TargetName="PART_Plane3D">
<EasingDoubleKeyFrame Value="0" KeyTime="0:0:0.0" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="90" KeyTime="0:0:0.2" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="-90" KeyTime="0:0:0.2" EasingFunction="{StaticResource FlipEase}" />
<EasingDoubleKeyFrame Value="0" KeyTime="0:0:0.4" EasingFunction="{StaticResource FlipEase}" />
</DoubleAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BackContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Collapsed}" KeyTime="0:0:0.2" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FrontContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" KeyTime="0:0:0.2" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Unflipped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BackContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FrontContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="Flipped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="BackContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility" Storyboard.TargetName="FrontContentPresenter">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Collapsed}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<controls:Plane3D x:Name="PART_Plane3D" RotationY="0" ZFactor="2.055">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border x:Name="Bg" Grid.RowSpan="3" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"/>
<Border BorderThickness="0,0,0,1" Visibility="{TemplateBinding Header, Converter={StaticResource Object2VisibilityConverter}}" BorderBrush="{TemplateBinding BorderBrush}">
<ContentPresenter ContentSource="Header" ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}" ContentStringFormat="{TemplateBinding HeaderStringFormat}"/>
</Border>
<ContentPresenter Grid.Row="1" x:Name="FrontContentPresenter"
Margin="{TemplateBinding Padding}"
Content="{TemplateBinding FrontContent}"
ContentTemplate="{TemplateBinding FrontContentTemplate}"
ContentTemplateSelector="{TemplateBinding FrontContentTemplateSelector}"
ContentStringFormat="{TemplateBinding FrontContentStringFormat}"
RenderTransformOrigin=".5,.5" />
<ContentPresenter Grid.Row="1" x:Name="BackContentPresenter"
Visibility="Collapsed"
Margin="{TemplateBinding Padding}"
Content="{TemplateBinding BackContent}"
ContentTemplate="{TemplateBinding BackContentTemplate}"
ContentTemplateSelector="{TemplateBinding BackContentTemplateSelector}"
ContentStringFormat="{TemplateBinding BackContentStringFormat}"
RenderTransformOrigin=".5,.5" />
<Border Grid.Row="2" BorderThickness="0,1,0,0" Visibility="{TemplateBinding Footer, Converter={StaticResource Object2VisibilityConverter}}" BorderBrush="{TemplateBinding BorderBrush}">
<ContentPresenter ContentSource="Footer" ContentTemplate="{TemplateBinding FooterTemplate}" ContentTemplateSelector="{TemplateBinding FooterTemplateSelector}" ContentStringFormat="{TemplateBinding FooterStringFormat}"/>
</Border>
</Grid>
</controls:Plane3D>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource FlipperStyle}" TargetType="{x:Type controls:Flipper}"/>
</ResourceDictionary>

View File

@@ -0,0 +1,269 @@
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Threading;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
{
[TemplatePart(Name = Plane3DPartName, Type = typeof(Plane3D))]
[TemplateVisualState(GroupName = TemplateFlipGroupName, Name = TemplateFlippedStateName)]
[TemplateVisualState(GroupName = TemplateFlipGroupName, Name = TemplateUnflippedStateName)]
public class Flipper : Control
{
public static readonly RoutedCommand FlipCommand = new RoutedCommand();
public const string Plane3DPartName = "PART_Plane3D";
public const string TemplateFlipGroupName = "FlipStates";
public const string TemplateFlippedStateName = "Flipped";
public const string TemplateUnflippedStateName = "Unflipped";
private Plane3D _plane3D;
static Flipper()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(Flipper), new FrameworkPropertyMetadata(typeof(Flipper)));
}
public Flipper()
{
CommandBindings.Add(new CommandBinding(FlipCommand, FlipHandler));
}
public static readonly DependencyProperty FrontContentProperty = DependencyProperty.Register(
nameof(FrontContent), typeof(object), typeof(Flipper), new PropertyMetadata(default(object)));
public object FrontContent
{
get => GetValue(FrontContentProperty);
set => SetValue(FrontContentProperty, value);
}
public static readonly DependencyProperty FrontContentTemplateProperty = DependencyProperty.Register(
nameof(FrontContentTemplate), typeof(DataTemplate), typeof(Flipper), new PropertyMetadata(default(DataTemplate)));
public DataTemplate FrontContentTemplate
{
get => (DataTemplate)GetValue(FrontContentTemplateProperty);
set => SetValue(FrontContentTemplateProperty, value);
}
public static readonly DependencyProperty FrontContentTemplateSelectorProperty = DependencyProperty.Register(
nameof(FrontContentTemplateSelector), typeof(DataTemplateSelector), typeof(Flipper), new PropertyMetadata(default(DataTemplateSelector)));
public DataTemplateSelector FrontContentTemplateSelector
{
get => (DataTemplateSelector)GetValue(FrontContentTemplateSelectorProperty);
set => SetValue(FrontContentTemplateSelectorProperty, value);
}
public static readonly DependencyProperty FrontContentStringFormatProperty = DependencyProperty.Register(
nameof(FrontContentStringFormat), typeof(string), typeof(Flipper), new PropertyMetadata(default(string)));
public string FrontContentStringFormat
{
get => (string)GetValue(FrontContentStringFormatProperty);
set => SetValue(FrontContentStringFormatProperty, value);
}
public static readonly DependencyProperty BackContentProperty = DependencyProperty.Register(
nameof(BackContent), typeof(object), typeof(Flipper), new PropertyMetadata(default(object)));
public object BackContent
{
get => GetValue(BackContentProperty);
set => SetValue(BackContentProperty, value);
}
public static readonly DependencyProperty BackContentTemplateProperty = DependencyProperty.Register(
nameof(BackContentTemplate), typeof(DataTemplate), typeof(Flipper), new PropertyMetadata(default(DataTemplate)));
public DataTemplate BackContentTemplate
{
get => (DataTemplate)GetValue(BackContentTemplateProperty);
set => SetValue(BackContentTemplateProperty, value);
}
public static readonly DependencyProperty BackContentTemplateSelectorProperty = DependencyProperty.Register(
nameof(BackContentTemplateSelector), typeof(DataTemplateSelector), typeof(Flipper), new PropertyMetadata(default(DataTemplateSelector)));
public DataTemplateSelector BackContentTemplateSelector
{
get => (DataTemplateSelector)GetValue(BackContentTemplateSelectorProperty);
set => SetValue(BackContentTemplateSelectorProperty, value);
}
public static readonly DependencyProperty BackContentStringFormatProperty = DependencyProperty.Register(
nameof(BackContentStringFormat), typeof(string), typeof(Flipper), new PropertyMetadata(default(string)));
public string BackContentStringFormat
{
get => (string)GetValue(BackContentStringFormatProperty);
set => SetValue(BackContentStringFormatProperty, value);
}
public static readonly DependencyProperty IsFlippedProperty = DependencyProperty.Register(
nameof(IsFlipped), typeof(bool), typeof(Flipper), new PropertyMetadata(default(bool), IsFlippedPropertyChangedCallback));
private static void IsFlippedPropertyChangedCallback(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
var flipper = (Flipper)dependencyObject;
flipper.UpdateVisualStates(true);
flipper.RemeasureDuringFlip();
OnIsFlippedChanged(flipper, dependencyPropertyChangedEventArgs);
}
public bool IsFlipped
{
get => (bool)GetValue(IsFlippedProperty);
set => SetValue(IsFlippedProperty, value);
}
public static readonly RoutedEvent IsFlippedChangedEvent =
EventManager.RegisterRoutedEvent(
nameof(IsFlipped),
RoutingStrategy.Bubble,
typeof(RoutedPropertyChangedEventHandler<bool>),
typeof(Flipper));
public event RoutedPropertyChangedEventHandler<bool> IsFlippedChanged
{
add => AddHandler(IsFlippedChangedEvent, value);
remove => RemoveHandler(IsFlippedChangedEvent, value);
}
private static void OnIsFlippedChanged(
DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var instance = (Flipper)d;
var args = new RoutedPropertyChangedEventArgs<bool>(
(bool)e.OldValue,
(bool)e.NewValue)
{
RoutedEvent = IsFlippedChangedEvent
};
instance.RaiseEvent(args);
}
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
UpdateVisualStates(false);
_plane3D = GetTemplateChild(Plane3DPartName) as Plane3D;
}
private void RemeasureDuringFlip()
{
//not entirely happy hardcoding this, but I have explored other options I am not happy with, and this will do for now
const int storyboardMs = 400;
const int granularity = 6;
var remeasureInterval = new TimeSpan(0, 0, 0, 0, storyboardMs / granularity);
var refreshCount = 0;
var plane3D = _plane3D;
if (plane3D is null) return;
DispatcherTimer dt = null;
dt = new DispatcherTimer(remeasureInterval, DispatcherPriority.Normal,
(sender, args) => {
plane3D.InvalidateMeasure();
if (refreshCount++ == granularity)
dt?.Stop();
}, Dispatcher);
dt.Start();
}
private void UpdateVisualStates(bool useTransitions)
{
VisualStateManager.GoToState(this, IsFlipped ? TemplateFlippedStateName : TemplateUnflippedStateName,
useTransitions);
}
private void FlipHandler(object sender, ExecutedRoutedEventArgs executedRoutedEventArgs)
{
SetCurrentValue(IsFlippedProperty, !IsFlipped);
}
public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register(
nameof(Header), typeof(object), typeof(Flipper), new PropertyMetadata(default(object)));
public object Header
{
get => GetValue(HeaderProperty);
set => SetValue(HeaderProperty, value);
}
public static readonly DependencyProperty HeaderTemplateProperty = DependencyProperty.Register(
nameof(HeaderTemplate), typeof(DataTemplate), typeof(Flipper), new PropertyMetadata(default(DataTemplate)));
[Bindable(true), Category("Content")]
public DataTemplate HeaderTemplate
{
get => (DataTemplate)GetValue(HeaderTemplateProperty);
set => SetValue(HeaderTemplateProperty, value);
}
public static readonly DependencyProperty HeaderTemplateSelectorProperty = DependencyProperty.Register(
nameof(HeaderTemplateSelector), typeof(DataTemplateSelector), typeof(Flipper), new PropertyMetadata(default(DataTemplateSelector)));
[Bindable(true), Category("Content")]
public DataTemplateSelector HeaderTemplateSelector
{
get => (DataTemplateSelector)GetValue(HeaderTemplateSelectorProperty);
set => SetValue(HeaderTemplateSelectorProperty, value);
}
public static readonly DependencyProperty HeaderStringFormatProperty = DependencyProperty.Register(
nameof(HeaderStringFormat), typeof(string), typeof(Flipper), new PropertyMetadata(default(string)));
[Bindable(true), Category("Content")]
public string HeaderStringFormat
{
get => (string)GetValue(HeaderStringFormatProperty);
set => SetValue(HeaderStringFormatProperty, value);
}
public static readonly DependencyProperty FooterProperty = DependencyProperty.Register(
nameof(Footer), typeof(object), typeof(Flipper), new PropertyMetadata(default(object)));
public object Footer
{
get => GetValue(FooterProperty);
set => SetValue(FooterProperty, value);
}
public static readonly DependencyProperty FooterTemplateProperty = DependencyProperty.Register(
nameof(FooterTemplate), typeof(DataTemplate), typeof(Flipper), new PropertyMetadata(default(DataTemplate)));
[Bindable(true), Category("Content")]
public DataTemplate FooterTemplate
{
get => (DataTemplate)GetValue(FooterTemplateProperty);
set => SetValue(FooterTemplateProperty, value);
}
public static readonly DependencyProperty FooterTemplateSelectorProperty = DependencyProperty.Register(
nameof(FooterTemplateSelector), typeof(DataTemplateSelector), typeof(Flipper), new PropertyMetadata(default(DataTemplateSelector)));
[Bindable(true), Category("Content")]
public DataTemplateSelector FooterTemplateSelector
{
get => (DataTemplateSelector)GetValue(FooterTemplateSelectorProperty);
set => SetValue(FooterTemplateSelectorProperty, value);
}
public static readonly DependencyProperty FooterStringFormatProperty = DependencyProperty.Register(
nameof(FooterStringFormat), typeof(string), typeof(Flipper), new PropertyMetadata(default(string)));
[Bindable(true), Category("Content")]
public string FooterStringFormat
{
get => (string)GetValue(FooterStringFormatProperty);
set => SetValue(FooterStringFormatProperty, value);
}
}
}

View File

@@ -0,0 +1,310 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using ZXing.Common;
using ZXing.Rendering;
using ZXing;
using System.Windows;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
{
/// <summary>
/// Renders a barcode into a geometry
/// Autor: Rob Fonseca-Ensor
/// </summary>
public class GeometryRenderer : IBarcodeRenderer<Geometry>
{
/// <summary>
/// Renders the specified matrix.
/// </summary>
/// <param name="matrix">The matrix.</param>
/// <param name="format">The format.</param>
/// <param name="content">The content.</param>
/// <returns></returns>
public Geometry Render(BitMatrix matrix, BarcodeFormat format, string content)
{
return Render(matrix, format, content, null);
}
/// <summary>
/// Renders the specified matrix.
/// </summary>
/// <param name="matrix">The matrix.</param>
/// <param name="format">The format.</param>
/// <param name="content">The content.</param>
/// <param name="options">The options.</param>
/// <returns></returns>
public Geometry Render(BitMatrix matrix, BarcodeFormat format, string content, EncodingOptions options)
{
var edges = new HashSet<Edge>();
var edgeMap = new Dictionary<Coordinate, List<Edge>>();
var cols = matrix.Width;
var rows = matrix.Height;
for (int c = 0; c <= cols; c++)
{
for (int r = 0; r <= rows; r++)
{
var cell = GetCell(c, r, matrix);
var westCell = GetCell(c - 1, r, matrix);
var northCell = GetCell(c, r - 1, matrix);
if (northCell != cell)
{
AddEdge(new Edge(c, r, c + 1, r), edges, edgeMap);
}
if (westCell != cell)
{
AddEdge(new Edge(c, r, c, r + 1), edges, edgeMap);
}
}
}
var cycles = new List<List<Coordinate>>();
while (edges.Count > 0)
{
var edge = edges.First();
RemoveEdge(edge, edges, edgeMap);
if (IsEdgeLeftHand(matrix, edge))
{
edge = edge.Reversed();
}
var currentCycle = new List<Coordinate> { edge.From, edge.To };
while (edge.To != currentCycle[0])
{
var moves = from direction in Turns(edge.From - edge.To)
let nextCoordinate = direction + edge.To
from e in EdgesFrom(edge.To, edgeMap)
where e.To == nextCoordinate || e.From == nextCoordinate
select e;
var nextEdge = moves.First();
RemoveEdge(nextEdge, edges, edgeMap);
edge = nextEdge.To != edge.To ? nextEdge : nextEdge.Reversed();
currentCycle.Add(edge.To);
}
cycles.Add(currentCycle);
}
return new PathGeometry(cycles.Select(x => new PathFigure(x.First().ToPoint(1), x.Skip(1).Select(y => new LineSegment(y.ToPoint(1), true)), true)));
}
private static bool IsEdgeLeftHand(BitMatrix b, Edge edge)
{
var cell = GetCell(edge.From.Col, edge.From.Row, b);
return (edge.From.Row < edge.To.Row && cell) || (!(edge.From.Col < edge.To.Col && cell));
}
private static IEnumerable<Edge> EdgesFrom(Coordinate c, Dictionary<Coordinate, List<Edge>> edgeMap)
{
return edgeMap.ContainsKey(c) ? edgeMap[c] : Enumerable.Empty<Edge>();
}
private static IEnumerable<Coordinate> Turns(Coordinate currentDirection)
{
int index = Array.IndexOf(Coordinate.Directions, currentDirection);
return Coordinate.Directions.Skip(index + 1).Concat(Coordinate.Directions.Take(index));
}
private static bool GetCell(int c, int r, BitMatrix matrix)
{
if (r < 0 || r >= matrix.Height)
{
return false;
}
if (c < 0 || c >= matrix.Width)
{
return false;
}
return matrix[c, r];
}
private static void RemoveEdge(Edge e, HashSet<Edge> edges, Dictionary<Coordinate, List<Edge>> edgeMap)
{
edges.Remove(e);
edgeMap[e.From].Remove(e);
edgeMap[e.To].Remove(e);
}
private static void AddEdge(Edge e, HashSet<Edge> edges, Dictionary<Coordinate, List<Edge>> edgeMap)
{
edges.Add(e);
AddCoordinate(e.From, e, edgeMap);
AddCoordinate(e.To, e, edgeMap);
}
private static void AddCoordinate(Coordinate c, Edge e, Dictionary<Coordinate, List<Edge>> edgeMap)
{
List<Edge> list;
if (!edgeMap.TryGetValue(c, out list))
{
edgeMap[c] = list = new List<Edge>();
}
list.Add(e);
}
private struct Coordinate
{
public readonly int Row, Col;
public Coordinate(int col, int row)
{
Col = col;
Row = row;
}
public bool Equals(Coordinate other)
{
return other.Row == Row && other.Col == Col;
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))
return false;
if (obj.GetType() != typeof(Coordinate))
return false;
return Equals((Coordinate)obj);
}
public override int GetHashCode()
{
unchecked
{
return (Row * 397) ^ Col;
}
}
public override string ToString()
{
var s = "";
if (this == North)
s = " n";
if (this == West)
s = " w";
if (this == South)
s = " s";
if (this == East)
s = " e";
return String.Format("({0}, {1}{2})", Col, Row, s);
}
public static bool operator ==(Coordinate left, Coordinate right)
{
return left.Equals(right);
}
public static bool operator !=(Coordinate left, Coordinate right)
{
return !left.Equals(right);
}
public static Coordinate operator +(Coordinate c1, Coordinate c2)
{
return new Coordinate(c1.Col + c2.Col, c1.Row + c2.Row);
}
public static Coordinate operator -(Coordinate c1, Coordinate c2)
{
return new Coordinate(c1.Col - c2.Col, c1.Row - c2.Row);
}
public Point ToPoint(double scale)
{
return new Point(Col * scale, Row * scale);
}
private static readonly Coordinate West = new Coordinate(-1, 0);
private static readonly Coordinate South = new Coordinate(0, 1);
private static readonly Coordinate East = new Coordinate(1, 0);
private static readonly Coordinate North = new Coordinate(0, -1);
public static readonly Coordinate[] Directions = new[]
{
West,
South,
East,
North,
};
}
private struct Edge
{
public readonly Coordinate From, To;
public Edge(Coordinate from, Coordinate to)
{
From = from;
To = to;
}
public Edge(int fromCol, int fromRow, int toCol, int toRow)
: this(new Coordinate(fromCol, fromRow), new Coordinate(toCol, toRow))
{
}
public bool Equals(Edge other)
{
return other.From.Equals(From) && other.To.Equals(To);
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj))
return false;
if (obj.GetType() != typeof(Edge))
return false;
return Equals((Edge)obj);
}
public override int GetHashCode()
{
unchecked
{
return (From.GetHashCode() * 397) ^ To.GetHashCode();
}
}
public override string ToString()
{
char angle = ' ';
if (From.Col == To.Col)
{
angle = '|';
}
if (From.Row == To.Row)
{
angle = '-';
}
return string.Format("[{0} {2} {1}]", From, To, angle);
}
public static bool operator ==(Edge left, Edge right)
{
return left.Equals(right);
}
public static bool operator !=(Edge left, Edge right)
{
return !left.Equals(right);
}
public Edge Reversed()
{
return new Edge(To, From);
}
}
}
}

View File

@@ -106,7 +106,7 @@
<Slider Maximum="1" Minimum="0" LargeChange="0.1" SmallChange="0.01"
Value="{Binding Offset}"
Foreground="{Binding Color, Converter={StaticResource ColorBrushConverter}}"
Style="{StaticResource TransparentSlider}"/>
Style="{StaticResource AIStudio.DiagramApp.Styles.Slider.Transparent}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

View File

@@ -0,0 +1,259 @@
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
using System.Windows.Media;
using System.Windows.Media.Media3D;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
{
/// <summary>
/// View a control on a 3D plane.
/// </summary>
/// <remarks>
/// Taken from http://blogs.msdn.com/greg_schechter/archive/2007/10/26/enter-the-planerator-dead-simple-3d-in-wpf-with-a-stupid-name.aspx , Greg Schechter - Fall 2007
/// </remarks>
[ContentProperty("Child")]
public class Plane3D : FrameworkElement
{
private FrameworkElement _logicalChild;
private FrameworkElement _visualChild;
private FrameworkElement _originalChild;
private readonly QuaternionRotation3D _quaternionRotation = new QuaternionRotation3D();
private readonly RotateTransform3D _rotationTransform = new RotateTransform3D();
private Viewport3D _viewport3D;
private readonly ScaleTransform3D _scaleTransform = new ScaleTransform3D();
private static readonly Point3D[] Mesh = { new Point3D(0, 0, 0), new Point3D(0, 1, 0), new Point3D(1, 1, 0), new Point3D(1, 0, 0) };
private static readonly Point[] TexCoords = { new Point(0, 1), new Point(0, 0), new Point(1, 0), new Point(1, 1) };
private static readonly int[] Indices = { 0, 2, 1, 0, 3, 2 };
private static readonly Vector3D XAxis = new Vector3D(1, 0, 0);
private static readonly Vector3D YAxis = new Vector3D(0, 1, 0);
private static readonly Vector3D ZAxis = new Vector3D(0, 0, 1);
public static readonly DependencyProperty RotationXProperty =
DependencyProperty.Register("RotationX", typeof(double), typeof(Plane3D), new UIPropertyMetadata(0.0, (d, args) => ((Plane3D)d).UpdateRotation()));
public double RotationX
{
get => (double)GetValue(RotationXProperty);
set => SetValue(RotationXProperty, value);
}
public static readonly DependencyProperty RotationYProperty =
DependencyProperty.Register("RotationY", typeof(double), typeof(Plane3D), new UIPropertyMetadata(0.0, (d, args) => ((Plane3D)d).UpdateRotation()));
public double RotationY
{
get => (double)GetValue(RotationYProperty);
set => SetValue(RotationYProperty, value);
}
public static readonly DependencyProperty RotationZProperty =
DependencyProperty.Register("RotationZ", typeof(double), typeof(Plane3D), new UIPropertyMetadata(0.0, (d, args) => ((Plane3D)d).UpdateRotation()));
public double RotationZ
{
get => (double)GetValue(RotationZProperty);
set => SetValue(RotationZProperty, value);
}
public static readonly DependencyProperty FieldOfViewProperty =
DependencyProperty.Register("FieldOfView", typeof(double), typeof(Plane3D), new UIPropertyMetadata(45.0, (d, args) => ((Plane3D)d).Update3D(),
(d, val) => Math.Min(Math.Max((double)val, 0.5), 179.9))); // clamp to a meaningful range
public double FieldOfView
{
get => (double)GetValue(FieldOfViewProperty);
set => SetValue(FieldOfViewProperty, value);
}
public static readonly DependencyProperty ZFactorProperty = DependencyProperty.Register(
"ZFactor", typeof(double), typeof(Plane3D), new UIPropertyMetadata(2.0, (d, args) => ((Plane3D)d).UpdateRotation()));
public double ZFactor
{
get => (double)GetValue(ZFactorProperty);
set => SetValue(ZFactorProperty, value);
}
public FrameworkElement Child
{
get => _originalChild;
set
{
if (Equals(_originalChild, value)) return;
RemoveVisualChild(_visualChild);
RemoveLogicalChild(_logicalChild);
// Wrap child with special decorator that catches layout invalidations.
_originalChild = value;
_logicalChild = new LayoutInvalidationCatcher() { Child = _originalChild };
_visualChild = CreateVisualChild();
AddVisualChild(_visualChild);
// Need to use a logical child here to make sure databinding operations get down to it,
// since otherwise the child appears only as the Visual to a Viewport2DVisual3D, which
// doesn't have databinding operations pass into it from above.
AddLogicalChild(_logicalChild);
InvalidateMeasure();
}
}
protected override Size MeasureOverride(Size availableSize)
{
Size result;
if (_logicalChild != null)
{
// Measure based on the size of the logical child, since we want to align with it.
_logicalChild.Measure(availableSize);
result = _logicalChild.DesiredSize;
_visualChild?.Measure(result);
}
else
{
result = new Size(0, 0);
}
return result;
}
protected override Size ArrangeOverride(Size finalSize)
{
if (_logicalChild is null) return base.ArrangeOverride(finalSize);
_logicalChild.Arrange(new Rect(finalSize));
_visualChild?.Arrange(new Rect(finalSize));
Update3D();
return base.ArrangeOverride(finalSize);
}
protected override Visual GetVisualChild(int index) => _visualChild;
protected override int VisualChildrenCount => _visualChild == null ? 0 : 1;
private FrameworkElement CreateVisualChild()
{
var simpleQuad = new MeshGeometry3D
{
Positions = new Point3DCollection(Mesh),
TextureCoordinates = new PointCollection(TexCoords),
TriangleIndices = new Int32Collection(Indices)
};
// Front material is interactive, back material is not.
Material frontMaterial = new DiffuseMaterial(Brushes.White);
frontMaterial.SetValue(Viewport2DVisual3D.IsVisualHostMaterialProperty, true);
var vb = new VisualBrush(_logicalChild);
SetCachingForObject(vb); // big perf wins by caching!!
Material backMaterial = new DiffuseMaterial(vb);
_rotationTransform.Rotation = _quaternionRotation;
var xfGroup = new Transform3DGroup { Children = { _scaleTransform, _rotationTransform } };
var backModel = new GeometryModel3D { Geometry = simpleQuad, Transform = xfGroup, BackMaterial = backMaterial };
var m3DGroup = new Model3DGroup
{
Children = { new DirectionalLight(Colors.White, new Vector3D(0, 0, -1)),
new DirectionalLight(Colors.White, new Vector3D(0.1, -0.1, 1)),
backModel }
};
// Non-interactive Visual3D consisting of the backside, and two lights.
var mv3D = new ModelVisual3D { Content = m3DGroup };
// Interactive frontside Visual3D
var frontModel = new Viewport2DVisual3D { Geometry = simpleQuad, Visual = _logicalChild, Material = frontMaterial, Transform = xfGroup };
// Cache the brush in the VP2V3 by setting caching on it. Big perf wins.
SetCachingForObject(frontModel);
// Scene consists of both the above Visual3D's.
_viewport3D = new Viewport3D { ClipToBounds = false, Children = { mv3D, frontModel } };
UpdateRotation();
return _viewport3D;
}
private void SetCachingForObject(DependencyObject d)
{
RenderOptions.SetCachingHint(d, CachingHint.Cache);
RenderOptions.SetCacheInvalidationThresholdMinimum(d, 0.5);
RenderOptions.SetCacheInvalidationThresholdMaximum(d, 2.0);
}
private void UpdateRotation()
{
var qx = new Quaternion(XAxis, RotationX);
var qy = new Quaternion(YAxis, RotationY);
var qz = new Quaternion(ZAxis, RotationZ);
_quaternionRotation.Quaternion = qx * qy * qz;
}
private void Update3D()
{
// Use GetDescendantBounds for sizing and centering since DesiredSize includes layout whitespace, whereas GetDescendantBounds
// is tighter
var logicalBounds = VisualTreeHelper.GetDescendantBounds(_logicalChild);
var w = logicalBounds.Width;
var h = logicalBounds.Height;
// Create a camera that looks down -Z, with up as Y, and positioned right halfway in X and Y on the element,
// and back along Z the right distance based on the field-of-view is the same projected size as the 2D content
// that it's looking at. See http://blogs.msdn.com/greg_schechter/archive/2007/04/03/camera-construction-in-parallaxui.aspx
// for derivation of this camera.
var fovInRadians = FieldOfView * (Math.PI / 180);
var zValue = w / Math.Tan(fovInRadians / 2) / ZFactor;
if (_viewport3D != null)
{
_viewport3D.Camera = new PerspectiveCamera(new Point3D(w / 2, h / 2, zValue),
-ZAxis,
YAxis,
FieldOfView);
}
_scaleTransform.ScaleX = w;
_scaleTransform.ScaleY = h;
_rotationTransform.CenterX = w / 2;
_rotationTransform.CenterY = h / 2;
}
#region Private Classes
/// <summary>
/// Wrap this around a class that we want to catch the measure and arrange
/// processes occuring on, and propagate to the parent Planerator, if any.
/// Do this because layout invalidations don't flow up out of a
/// Viewport2DVisual3D object.
/// </summary>
private class LayoutInvalidationCatcher : Decorator
{
protected override Size MeasureOverride(Size constraint)
{
Plane3D pl = Parent as Plane3D;
if (pl != null)
{
pl.InvalidateMeasure();
}
return base.MeasureOverride(constraint);
}
protected override Size ArrangeOverride(Size arrangeSize)
{
Plane3D pl = Parent as Plane3D;
if (pl != null)
{
pl.InvalidateArrange();
}
return base.ArrangeOverride(arrangeSize);
}
}
#endregion
}
}

View File

@@ -261,7 +261,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Controls
RectangleGridEventArgs oldArgs = e.OldValue as RectangleGridEventArgs;
RectangleGridEventArgs newArgs = e.NewValue as RectangleGridEventArgs;
//grid.FillRectangle(newArgs.Row, newArgs.Column);
//grid.FillableRectangle(newArgs.Row, newArgs.Column);
grid.OnSelectColumnChanged(oldArgs, newArgs);
}

View File

@@ -0,0 +1,41 @@
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Converters
{
public class CardClipConverter : IMultiValueConverter
{
/// <summary>
/// 1 - Content presenter render size,
/// 2 - Clipping border padding (main control padding)
/// </summary>
/// <param name="values"></param>
/// <param name="targetType"></param>
/// <param name="parameter"></param>
/// <param name="culture"></param>
/// <returns></returns>
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values.Length != 2 || !(values[0] is Size) || !(values[1] is Thickness))
return Binding.DoNothing;
var size = (Size)values[0];
var farPoint = new Point(
Math.Max(0, size.Width),
Math.Max(0, size.Height));
var padding = (Thickness)values[1];
farPoint.Offset(padding.Left + padding.Right, padding.Top + padding.Bottom);
return new Rect(
new Point(),
new Point(farPoint.X, farPoint.Y));
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}
}

View File

@@ -13,26 +13,31 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Converters
{
if (values != null && values.Length > 2)
{
var diagram = values[0] as AIStudio.Wpf.DiagramDesigner.DiagramControl;
var zoomValue = (double)values[1];
var pageunit = (PageUnit)values[2];
var unit = Unit.Cm;
if (pageunit > PageUnit.km)
try
{
unit = Unit.Inch;
}
Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(diagram);
if (parameter?.ToString() == "Y")
{
var value = 0 - (unit == Unit.Cm? ScreenHelper.WidthToCm(vector.Y - 20) : ScreenHelper.WidthToInch(vector.Y - 20))/ zoomValue;
return value;
}
else
{
var value = 0 - (unit == Unit.Cm ? ScreenHelper.WidthToCm(vector.X - 20) : ScreenHelper.WidthToInch(vector.X - 20)) / zoomValue;
return value;
var diagram = values[0] as FrameworkElement;
var zoomValue = (double)values[1];
var pageunit = (PageUnit)values[2];
var unit = Unit.Cm;
if (pageunit > PageUnit.km)
{
unit = Unit.Inch;
}
Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(diagram);
if (parameter?.ToString() == "Y")
{
var value = 0 - (unit == Unit.Cm ? ScreenHelper.WidthToCm(vector.Y - 20) : ScreenHelper.WidthToInch(vector.Y - 20)) / zoomValue;
return value;
}
else
{
var value = 0 - (unit == Unit.Cm ? ScreenHelper.WidthToCm(vector.X - 20) : ScreenHelper.WidthToInch(vector.X - 20)) / zoomValue;
return value;
}
}
catch { }
}
return 0;
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace AIStudio.Wpf.DiagramDesigner.Additionals.Converters
{
public class Object2VisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value == null ? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

View File

@@ -34,15 +34,20 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new DesignerItemBase(this, Format.ToString());
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
CustomText = true;
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
}
protected override void InitNew()
{
base.InitNew();
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);
@@ -64,7 +69,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
EditData();
}
public override bool InitData()
public override bool Verify()
{
if (string.IsNullOrEmpty(Icon))
return EditData();

View File

@@ -13,7 +13,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
{
this.Title = "矢量文本";
this.Text = item.Text;
this.FontViewModel = CopyHelper.Mapper<FontViewModel, IFontViewModel>(item.FontViewModel);
this.FontViewModel = CopyHelper.Mapper(item.FontViewModel);
}
private IFontViewModel _fontViewModel;

View File

@@ -35,12 +35,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new TextDesignerItem(this);
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
}
protected override void InitNew()
{
base.InitNew();
FontViewModel.FontFamily = "Arial";
FontViewModel.FontSize = 36;
}
@@ -70,7 +74,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
EditData();
}
public override bool InitData()
public override bool Verify()
{
if (string.IsNullOrEmpty(Text))
return EditData();
@@ -85,7 +89,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
if (visualiserService.ShowDialog(data) == true)
{
Text = data.Text;
FontViewModel = CopyHelper.Mapper<FontViewModel, IFontViewModel>(data.FontViewModel);
FontViewModel = CopyHelper.Mapper(data.FontViewModel);
AutoSize();
return true;
}

View File

@@ -32,11 +32,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new PathDesignerItem(this);
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
this.ShowConnectors = false;
}
protected override void InitNew()
{
base.InitNew();
}
}
}

View File

@@ -35,14 +35,19 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new PersistDesignerItem(this);
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
this.ShowConnectors = false;
}
protected override void InitNew()
{
base.InitNew();
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);

View File

@@ -35,15 +35,20 @@ namespace AIStudio.Wpf.DiagramDesigner.Additionals.Extensions.ViewModels
return new SettingsDesignerItem(this);
}
protected override void Init(IDiagramViewModel root)
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root);
base.Init(root, initNew);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
this.ShowConnectors = false;
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
protected override void InitNew()
{
base.InitNew();
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -2,7 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<!--<ResourceDictionary Source="pack://application:,,,/AIStudio.Wpf.Flowchart;component/Controls/FlowchartEditor.xaml"/>-->
<ResourceDictionary Source="/AIStudio.Wpf.DiagramDesigner.Additionals;component/Controls/Flipper.xaml" />
<ResourceDictionary Source="/AIStudio.Wpf.DiagramDesigner.Additionals;component/Controls/Carousel.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

View File

@@ -1,325 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<None Remove="A.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.Controls" Version="1.1.46" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Nodes\CustomDefinedNodeView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.controls\1.1.46\lib\netcoreapp3.1\AIStudio.Wpf.Controls.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\netcoreapp3.1\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\netcoreapp3.1\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.39\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\netstandard2.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\netstandard2.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.text.encoding.codepages\6.0.0\lib\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.text.json\4.7.2\lib\netcoreapp3.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\taglibsharp\2.2.0\lib\netstandard2.0\TagLibSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\netcoreapp3.1\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Controls\NotDoneYetControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Controls\TitleControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Algorithms\ReconnectLinksToClosestPortsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Animations\LineAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Animations\PathAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomLinkView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\EventsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\CustomDefinedGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\CustomShortcutGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\GroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\LabelsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\MarkersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\PathGeneratorsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\RoutersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\SnappingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\VerticesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\LockedView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\CustomDefinedNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\GradientNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\PortlessLinksView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\RotateView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\SvgView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\PerformanceView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Ports\ColoredPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Ports\InnerPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\SnapToGridView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\AlignmentView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\ColorTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\FontSizeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\OutlineTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\TextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\ZoomView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View File

@@ -1,237 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Views\Animations\" />
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\netcoreapp3.1\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\App.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View File

@@ -1,328 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<None Remove="A.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.Controls" Version="1.1.46" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Nodes\CustomDefinedNodeView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Accessibility.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.controls\1.1.46\lib\net5.0-windows7.0\AIStudio.Wpf.Controls.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\net5.0-windows\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net5.0-windows\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\net5.0-windows\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net5.0-windows7.0\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.VisualBasic.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.39\lib\net5.0-windows7.0\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Buffers.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.codedom\7.0.0\lib\netstandard2.0\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Formats.Asn1.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.management\7.0.0\lib\netstandard2.0\System.Management.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Http.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\net5.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Forms.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\5.0.0\ref\net5.0\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\taglibsharp\2.2.0\lib\netstandard2.0\TagLibSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\5.0.0\ref\net5.0\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\net5.0\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Controls\NotDoneYetControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Controls\TitleControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Algorithms\ReconnectLinksToClosestPortsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Animations\LineAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Animations\PathAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomLinkView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Customization\CustomPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\EventsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Groups\CustomDefinedGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Groups\CustomShortcutGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Groups\GroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\LabelsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\MarkersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\PathGeneratorsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\RoutersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\SnappingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Links\VerticesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\LockedView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\CustomDefinedNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\GradientNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\PortlessLinksView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\RotateView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Nodes\SvgView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\PerformanceView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Ports\ColoredPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Ports\InnerPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\SnapToGridView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Texts\AlignmentView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Texts\ColorTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Texts\FontSizeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Texts\OutlineTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\Texts\TextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\Views\ZoomView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net5.0-windows\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View File

@@ -1,323 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<None Remove="A.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.Controls" Version="1.1.46" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Nodes\CustomDefinedNodeView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.controls\1.1.46\lib\netcoreapp3.1\AIStudio.Wpf.Controls.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\netcoreapp3.1\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\netcoreapp3.1\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\netcoreapp3.1\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\netcoreapp3.1\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\netcoreapp3.0\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\netcoreapp3.1\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.39\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.runtime.compilerservices.unsafe\6.0.0\lib\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.text.encoding.codepages\6.0.0\lib\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.text.json\4.7.2\lib\netcoreapp3.0\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\taglibsharp\2.2.0\lib\netstandard2.0\TagLibSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\netcoreapp3.1\zxing.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Controls\NotDoneYetControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Controls\TitleControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Algorithms\ReconnectLinksToClosestPortsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Animations\LineAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Animations\PathAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomLinkView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Customization\CustomPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\CustomDefinedGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\CustomShortcutGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Groups\GroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\LabelsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\MarkersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\PathGeneratorsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\RoutersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\SnappingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Links\VerticesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\LockedView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\CustomDefinedNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\GradientNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\PortlessLinksView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\RotateView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Nodes\SvgView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\PerformanceView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Ports\ColoredPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Ports\InnerPortView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\SnapToGridView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\AlignmentView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\ColorTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\FontSizeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\OutlineTextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\Texts\TextView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\Views\ZoomView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View File

@@ -1,244 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner.Demo</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Demo</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<OutputType>WinExe</OutputType>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<None Remove="A.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner.Additionals\AIStudio.Wpf.DiagramDesigner.Additionals.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
<ProjectReference Include="..\AIStudio.Wpf.Flowchart\AIStudio.Wpf.Flowchart.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AIStudio.Wpf.Controls" Version="1.1.45" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<Compile Update="Views\Nodes\CustomDefinedNodeView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.controls\1.1.45\lib\net461\AIStudio.Wpf.Controls.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\bin\Debug\net461\AIStudio.Wpf.DiagramDesigner.Additionals.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\bin\Debug\net461\AIStudio.Wpf.DiagramDesigner.dll" />
<ReferencePath Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.Flowchart\bin\Debug\net461\AIStudio.Wpf.Flowchart.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\aistudio.wpf.svg2xamlextension\1.2.2\lib\net461\AIStudio.Wpf.Svg2XamlExtension.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\controlzex\4.4.0\lib\net45\ControlzEx.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\fluent.ribbon\8.0.3\lib\net452\Fluent.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.BootstrapIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.BoxIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Codicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Core.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Entypo.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.EvaIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FileIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Fontaudio.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.FontAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.ForkAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Ionicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.JamIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Material.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.MaterialDesign.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.MaterialLight.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Microns.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Modern.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Octicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.PicolIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.PixelartIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RadixIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RemixIcon.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.RPGAwesome.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.SimpleIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Typicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Unicons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.VaadinIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.WeatherIcons.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\mahapps.metro.iconpacks\4.8.0\lib\net46\MahApps.Metro.IconPacks.Zondicons.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.39\lib\net45\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netfx.force.conflicts.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\net45\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Console.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ObjectModel.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\lib\netstandard2.0\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.3\ref\net461\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.threading.tasks.extensions\4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Web.Extensions.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\taglibsharp\2.2.0\lib\net45\TagLibSharp.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationClientsideProviders.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\net40\WpfAnimatedGif.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\net461\zxing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\zxing.net\0.16.8\lib\net461\zxing.presentation.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Duplex.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Http.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.NetTcp.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\Facades\System.ServiceModel.Security.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Controls\NotDoneYetControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Controls\TitleControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\MainWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Algorithms\ReconnectLinksToClosestPortsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Animations\LineAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Animations\PathAnimationView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Customization\CustomGroupView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Customization\CustomLinkView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Customization\CustomNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\DragAndDropView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\FlowchartEditorView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Groups\GroupingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\LabelsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\MarkersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\PathGeneratorsView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\RoutersView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\SnappingView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Links\VerticesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\LockedView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Nodes\CustomDefinedNodeView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Nodes\PortlessLinksView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\Nodes\SvgView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\PerformanceView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\SimpleView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\SnapToGridView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\Views\ZoomView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\App.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Demo\obj\Debug\net461\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
</Project>

View File

@@ -1,44 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Media;
namespace AIStudio.Wpf.DiagramDesigner.Demo.ViewModels
{
class PathAnimationViewModel : BaseViewModel
{
public PathAnimationViewModel()
{
Title = "Path Animation";
Info = "Line flow motion animation.";
DiagramViewModel = new DiagramViewModel();
DiagramViewModel.PageSizeType = PageSizeType.Custom;
DiagramViewModel.PageSize = new Size(double.NaN, double.NaN);
DiagramViewModel.ColorViewModel = new ColorViewModel();
DiagramViewModel.ColorViewModel.FillColor.Color = System.Windows.Media.Colors.Orange;
DefaultDesignerItemViewModel node1 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 50, Top = 50, Text = "1" };
DiagramViewModel.DirectAddItemCommand.Execute(node1);
DefaultDesignerItemViewModel node2 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 300, Text = "2" };
DiagramViewModel.DirectAddItemCommand.Execute(node2);
DefaultDesignerItemViewModel node3 = new DefaultDesignerItemViewModel(DiagramViewModel) { Left = 300, Top = 50, Text = "3" };
DiagramViewModel.DirectAddItemCommand.Execute(node3);
ConnectionViewModel connector1 = new ConnectionViewModel(DiagramViewModel, node1.RightConnector, node2.LeftConnector, DrawMode.ConnectingLineSmooth, RouterMode.RouterNormal);
connector1.ColorViewModel.FillColor.Color = Colors.Red;
connector1.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector1);
ConnectionViewModel connector2 = new ConnectionViewModel(DiagramViewModel, node2.RightConnector, node3.RightConnector, DrawMode.ConnectingLineStraight, RouterMode.RouterOrthogonal);
connector2.ColorViewModel.FillColor.Color = Colors.Red;
connector2.ColorViewModel.LineAnimation = LineAnimation.PathAnimation;
DiagramViewModel.DirectAddItemCommand.Execute(connector2);
DiagramViewModel.ClearSelectedItemsCommand.Execute(null);
}
}
}

View File

@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<UseWPF>true</UseWPF>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
@@ -9,16 +8,9 @@
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.7</Version>
<Description>一个Wpf的流程图控件</Description>
<Description>一个Wpf的流程图控件Json对象</Description>
</PropertyGroup>
<ItemGroup>
<None Include="A.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\AIStudio.Wpf.DiagramDesigner\AIStudio.Wpf.DiagramDesigner.csproj" />
</ItemGroup>

View File

@@ -1,8 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Generic;
using AIStudio.Wpf.DiagramDesigner.Serializable.ViewModels;
namespace AIStudio.Wpf.Flowchart.Models
namespace AIStudio.Wpf.DiagramDesigner.Serializable
{
/// <summary>
///
@@ -88,6 +87,7 @@ namespace AIStudio.Wpf.Flowchart.Models
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
@@ -98,6 +98,62 @@ namespace AIStudio.Wpf.Flowchart.Models
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
/// <value>
/// The color.
/// </value>
public string LineColor
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
/// <value>
/// The color.
/// </value>
public string FontColor
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
/// <value>
/// The color.
/// </value>
public double FontSize
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
/// <value>
/// The color.
/// </value>
public string CornerRadius
{
get; set;
}
/// <summary>
/// Gets or sets the color.
/// </summary>
/// <value>
/// The color.
/// </value>
public string BorderThickness
{
get; set;
}
/// <summary>
/// Gets or sets the label.
/// </summary>
@@ -108,6 +164,7 @@ namespace AIStudio.Wpf.Flowchart.Models
{
get; set;
}
/// <summary>
/// Gets or sets the width.
/// </summary>
@@ -118,6 +175,7 @@ namespace AIStudio.Wpf.Flowchart.Models
{
get; set;
}
/// <summary>
/// Gets or sets the height.
/// </summary>
@@ -178,6 +236,22 @@ namespace AIStudio.Wpf.Flowchart.Models
{
get; set;
}
public bool IsInnerConnector
{
get; set;
}
public List<string> PortRatio
{
get; set;
}
public virtual DiagramItemViewModel ToNodel(IDiagramViewModel diagramViewModel)
{
return new DiagramItemViewModel(diagramViewModel);
}
}
/// <summary>
@@ -288,6 +362,17 @@ namespace AIStudio.Wpf.Flowchart.Models
get; set;
}
/// <summary>
/// Gets or sets the index of the z.
/// </summary>
/// <value>
/// The index of the z.
/// </value>
public int ZIndex
{
get; set;
} = -1;
/// <summary>
/// Gets or sets the router.
/// </summary>
@@ -353,56 +438,6 @@ namespace AIStudio.Wpf.Flowchart.Models
}
}
/// <summary>
///
/// </summary>
/// <seealso cref="AIStudio.Util.DiagramEntity.DiagramNode" />
public class FlowchartNode : DiagramNode
{
/// <summary>
/// Gets or sets the kind.
/// </summary>
/// <value>
/// The kind.
/// </value>
public NodeKinds Kind
{
get; set;
}
/// <summary>
/// Gets or sets the user ids.
/// </summary>
/// <value>
/// The user ids.
/// </value>
public IEnumerable<string> UserIds
{
get; set;
}
/// <summary>
/// Gets or sets the role ids.
/// </summary>
/// <value>
/// The role ids.
/// </value>
public IEnumerable<string> RoleIds
{
get; set;
}
/// <summary>
/// Gets or sets the type of the act.
/// </summary>
/// <value>
/// The type of the act.
/// </value>
public string ActType
{
get; set;
}
}
/// <summary>
///
/// </summary>

View File

@@ -1,24 +1,19 @@
using System;
using AIStudio.Wpf.DiagramDesigner.Helpers;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace AIStudio.Wpf.Flowchart.Models
namespace AIStudio.Wpf.DiagramDesigner.Serializable
{
public class DiagramNodeConverter : DATACreationConverter<DiagramNode>
{
protected override DiagramNode Create(Type objectType, JObject jObject)
{
//第一种方法:判断属性值来确认是哪个派生类
if (FieldExists("Type", jObject, out string type))
if (FieldExists("Type", jObject, out string typename))
{
if (type == "FlowchartNode")
{
return new FlowchartNode();
}
else
{
return new DiagramNode();
}
var type = TypeHelper.GetType(typename);
return type != null ? (System.Activator.CreateInstance(type) as DiagramNode) : new DiagramNode();
}
else
{
@@ -40,9 +35,10 @@ namespace AIStudio.Wpf.Flowchart.Models
protected override DiagramLink Create(Type objectType, JObject jObject)
{
//第一种方法:判断属性值来确认是哪个派生类
if (FieldExists("Type", jObject, out string type))
if (FieldExists("Type", jObject, out string typename))
{
return new DiagramLink();
var type = TypeHelper.GetType(typename);
return type != null ? (System.Activator.CreateInstance(type) as DiagramLink) : new DiagramLink();
}
else
{

View File

@@ -0,0 +1,194 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Serializable.ViewModels;
using Newtonsoft.Json;
namespace AIStudio.Wpf.DiagramDesigner.Serializable
{
public static class DiagramDataExtention
{
#region ToJson
public static string ToJson(this IDiagramViewModel diagram)
{
var json = JsonConvert.SerializeObject(new {
Nodes = diagram.Items.OfType<DiagramItemViewModel>().Select(p => p.ToDiagramNode()).Where(p => p != null),
Links = diagram.Items.OfType<ConnectionViewModel>().Select(p => p.ToDiagramLink()).Where(p => p != null)
}, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return json;
}
public static DiagramNode ToDiagramNode(this DiagramItemViewModel nodeModel)
{
DiagramNode diagramNode = nodeModel.ToDiagram();
diagramNode.Id = nodeModel.Id.ToString();
if (nodeModel.ParentId != Guid.Empty)
{
diagramNode.ParentId = nodeModel.ParentId.ToString();
}
diagramNode.Color = SerializeHelper.SerializeColor(nodeModel.ColorViewModel.FillColor.Color);
diagramNode.LineColor = SerializeHelper.SerializeColor(nodeModel.ColorViewModel.LineColor.Color);
diagramNode.FontColor = SerializeHelper.SerializeColor(nodeModel.FontViewModel.FontColor);
diagramNode.FontSize = nodeModel.FontViewModel.FontSize;
diagramNode.CornerRadius = SerializeHelper.SerializeCornerRadius(nodeModel.CornerRadius);
diagramNode.BorderThickness = SerializeHelper.SerializeThickness(nodeModel.BorderThickness);
diagramNode.Name = nodeModel.Name;
diagramNode.Label = nodeModel.Text;
diagramNode.Width = nodeModel.ItemWidth * ScreenHelper.ScreenScale;
diagramNode.Height = nodeModel.ItemHeight * ScreenHelper.ScreenScale;
diagramNode.X = nodeModel.Left * ScreenHelper.ScreenScale;
diagramNode.Y = nodeModel.Top * ScreenHelper.ScreenScale;
diagramNode.ZIndex = nodeModel.ZIndex;
diagramNode.Type = diagramNode.GetType().Name;
diagramNode.PortAlignmentList = nodeModel.Connectors.Select(p => p.Orientation.ToString()).ToList();
diagramNode.IsInnerConnector = nodeModel.IsInnerConnector;
diagramNode.PortRatio = nodeModel.Connectors.Select(p => SerializeHelper.SerializePoint(p.Ratio)).ToList();
return diagramNode;
}
public static DiagramLink ToDiagramLink(this ConnectionViewModel linkModel)
{
DiagramLink diagramLink = new DiagramLink();
diagramLink.Id = linkModel.Id.ToString();
diagramLink.Color = SerializeHelper.SerializeColor(linkModel.ColorViewModel.LineColor.Color);
diagramLink.SelectedColor = SerializeHelper.SerializeColor(Colors.Black);
diagramLink.Width = linkModel.ColorViewModel.LineWidth;
diagramLink.Label = linkModel.Text;
diagramLink.ZIndex = linkModel.ZIndex;
if (linkModel.IsFullConnection)
{
diagramLink.SourceId = linkModel.SourceConnectorInfoFully.DataItem.Id.ToString();
diagramLink.TargetId = linkModel.SinkConnectorInfoFully.DataItem.Id.ToString();
diagramLink.Router = linkModel.RouterMode;
diagramLink.PathGenerator = linkModel.PathMode;
diagramLink.SourceMarkerPath = linkModel.ShapeViewModel.SourceMarker.Path;
diagramLink.SourceMarkerWidth = linkModel.ShapeViewModel.SourceMarker.Width;
diagramLink.TargetMarkerPath = linkModel.ShapeViewModel.SinkMarker.Path;
diagramLink.TargetMarkerWidth = linkModel.ShapeViewModel.SinkMarker.Width;
diagramLink.Type = diagramLink.GetType().Name;
diagramLink.SourcePortAlignment = linkModel.SourceConnectorInfoFully.Orientation.ToString();
diagramLink.TargetPortAlignment = linkModel.SinkConnectorInfoFully.Orientation.ToString();
}
else//Todo,半连接线也可反序列化
{
return null;
}
return diagramLink;
}
#endregion
#region ToObject
public static void ToObject(this IDiagramViewModel diagram, string json)
{
var data = JsonConvert.DeserializeObject<DiagramData>(json, new JsonConverter[] { new DiagramNodeConverter(), new DiagramLinkConverter() });
if (data != null)
{
ToObject(diagram, data);
}
}
public static void ToObject(this IDiagramViewModel diagram, DiagramData data)
{
diagram.Items.Clear();
List<DiagramItemViewModel> nodes = new List<DiagramItemViewModel>();
if (data.Nodes != null)
{
foreach (var node in data.Nodes)
{
var nodemodel = node.ToNodelModel(diagram);
nodes.Add(nodemodel);
diagram.Items.Add(nodemodel);
}
}
if (data.Links != null)
{
foreach (var link in data.Links)
{
var source = nodes.FirstOrDefault(p => p.Id == new Guid(link.SourceId));
var target = nodes.FirstOrDefault(p => p.Id == new Guid(link.TargetId));
var linkmodel = link.ToLinkModel(diagram, source, target);
diagram.Items.Add(linkmodel);
}
}
}
private static DiagramItemViewModel ToNodelModel(this DiagramNode diagramNode, IDiagramViewModel diagram)
{
DiagramItemViewModel nodeModel = diagramNode.ToNodel(diagram);
nodeModel.Id = new Guid(diagramNode.Id);
if (!string.IsNullOrEmpty(diagramNode.ParentId))
{
nodeModel.ParentId = new Guid(diagramNode.ParentId);
}
nodeModel.Root = diagram;
nodeModel.ColorViewModel.FillColor.Color = SerializeHelper.DeserializeColor(diagramNode.Color);
nodeModel.ColorViewModel.LineColor.Color = SerializeHelper.DeserializeColor(diagramNode.LineColor);
nodeModel.FontViewModel.FontColor = SerializeHelper.DeserializeColor(diagramNode.FontColor);
nodeModel.FontViewModel.FontSize = diagramNode.FontSize;
nodeModel.CornerRadius = SerializeHelper.DeserializeCornerRadius(diagramNode.CornerRadius);
nodeModel.BorderThickness = SerializeHelper.DeserializeThickness(diagramNode.BorderThickness);
nodeModel.Text = diagramNode.Label;
nodeModel.Name = diagramNode.Name;
nodeModel.ItemWidth = diagramNode.Width / ScreenHelper.ScreenScale;
nodeModel.ItemHeight = diagramNode.Height / ScreenHelper.ScreenScale;
nodeModel.Left = diagramNode.X / ScreenHelper.ScreenScale;
nodeModel.Top = diagramNode.Y / ScreenHelper.ScreenScale;
nodeModel.ZIndex = diagramNode.ZIndex;
nodeModel.IsInnerConnector = diagramNode.IsInnerConnector;
if (diagramNode.PortAlignmentList != null)
{
nodeModel.ClearConnectors();
for (int i = 0; i < diagramNode.PortAlignmentList.Count; i++)
{
var connecter = new FullyCreatedConnectorInfo(nodeModel, diagramNode.PortAlignmentList[i].ToEnum<ConnectorOrientation>(), nodeModel.IsInnerConnector);
connecter.Ratio = SerializeHelper.DeserializePoint(diagramNode.PortRatio[i]);
nodeModel.AddConnector(connecter);
}
}
return nodeModel;
}
public static ConnectionViewModel ToLinkModel(this DiagramLink diagramLink, IDiagramViewModel diagram, DiagramItemViewModel sourceNode, DiagramItemViewModel targetNode)
{
FullyCreatedConnectorInfo sourceConnectorInfo = sourceNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.SourcePortAlignment);
FullyCreatedConnectorInfo sinkConnectorInfo = targetNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.TargetPortAlignment);
ConnectionViewModel linkModel = new ConnectionViewModel(diagram, sourceConnectorInfo, sinkConnectorInfo,
(DrawMode)Enum.Parse(typeof(DrawMode), diagramLink.PathGenerator?? DrawMode.ConnectingLineSmooth.ToString()),
(RouterMode)Enum.Parse(typeof(RouterMode), diagramLink.Router ?? RouterMode.RouterNormal.ToString()));
linkModel.Id = new Guid(diagramLink.Id);
linkModel.ColorViewModel.LineColor.Color = SerializeHelper.DeserializeColor(diagramLink.Color);
linkModel.ColorViewModel.LineWidth = diagramLink.Width;
linkModel.Text = diagramLink.Label;
linkModel.ZIndex = diagramLink.ZIndex;
if (!string.IsNullOrEmpty(diagramLink.SourceMarkerPath))
{
linkModel.ShapeViewModel.SourceMarker = new SharpPath() { Path = diagramLink.SourceMarkerPath, Width = diagramLink.SourceMarkerWidth ?? 10, Height = diagramLink.SourceMarkerWidth ?? 10 };
}
if (!string.IsNullOrEmpty(diagramLink.TargetMarkerPath))
{
linkModel.ShapeViewModel.SinkMarker = new SharpPath() { Path = diagramLink.TargetMarkerPath, Width = diagramLink.TargetMarkerWidth ?? 10.0, Height = diagramLink.TargetMarkerWidth ?? 10 };
}
return linkModel;
}
#endregion
}
}

View File

@@ -0,0 +1,29 @@
using AIStudio.Wpf.DiagramDesigner.Models;
namespace AIStudio.Wpf.DiagramDesigner.Serializable.ViewModels
{
public class DiagramItemViewModel : DesignerItemViewModelBase
{
public DiagramItemViewModel() : this(null)
{
}
public DiagramItemViewModel(IDiagramViewModel root) : base(root)
{
}
public DiagramItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
public DiagramItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
public virtual DiagramNode ToDiagram()
{
return new DiagramNode();
}
}
}

View File

@@ -2,29 +2,36 @@
<PropertyGroup>
<UseWPF>true</UseWPF>
<Company>AIStudio.Wpf.Controls</Company>
<Company> AIStudio.Wpf.DiagramDesigner.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.7</Version>
<Version>1.1.7</Version>
<Description>一个Wpf的Diagram控件基础库</Description>
</PropertyGroup>
<ItemGroup>
<Compile Remove="PathGenerators\PathGenerators.FishBone.cs" />
</ItemGroup>
<ItemGroup>
<None Remove="Images\color-picker.cur" />
<None Remove="Images\file.png" />
<None Remove="Images\FormatPainter.cur" />
<None Include="A.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
<None Include="PathGenerators\PathGenerators.FishBone.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.31" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="SvgPathProperties" Version="1.1.2" />
<PackageReference Include="System.Drawing.Common" Version="6.0.0" />
<PackageReference Include="System.Management" Version="7.0.0" />
<PackageReference Include="System.Reactive" Version="5.0.0" />
<PackageReference Include="WpfAnimatedGif" Version="2.0.0" />
@@ -35,16 +42,11 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Images\color-picker.cur" />
<Resource Include="Images\file.png" />
<Resource Include="Images\FormatPainter.cur" />
</ItemGroup>
<ItemGroup>
<None Update="Images\Gifs\car_chase.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Page Update="Controls\MultiSelectComboBox.xaml">
<XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
@@ -60,5 +62,9 @@
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<Folder Include="ViewModels\DrawingViewModel\Fillable\" />
</ItemGroup>
</Project>

View File

@@ -1,267 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<UseWPF>true</UseWPF>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.5</Version>
<Description>一个Wpf的Diagram控件基础库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="Images\file.png" />
<None Remove="Images\FormatPainter.cur" />
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.31" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="SvgPathProperties" Version="1.1.2" />
<PackageReference Include="System.Reactive" Version="5.0.0" />
<PackageReference Include="WpfAnimatedGif" Version="2.0.0" />
</ItemGroup>
<ItemGroup Condition="$(DefineConstants.Contains(NETCOREAPP)) == true">
<PackageReference Include="System.Drawing.Common" Version="5.0.2" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Update="Images\Gifs\car_chase.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\MultiSelectComboBox.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\PopupWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\PropertiesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\ConnectorContainer.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\DiagramControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\LineControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\PointContainer.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\TextControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

View File

@@ -1,267 +0,0 @@
<Project>
<PropertyGroup>
<AssemblyName>AIStudio.Wpf.DiagramDesigner</AssemblyName>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<MSBuildProjectExtensionsPath>F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\</MSBuildProjectExtensionsPath>
<_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner</_TargetAssemblyProjectName>
</PropertyGroup>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
<PropertyGroup>
<UseWPF>true</UseWPF>
<Company>AIStudio.Wpf.Controls</Company>
<Authors>akwkevin</Authors>
<PackageProjectUrl>https://gitee.com/akwkevin</PackageProjectUrl>
<PackageIcon>A.png</PackageIcon>
<PackageIconUrl />
<NeutralLanguage />
<Version>1.0.4</Version>
<Description>一个Wpf的Diagram控件基础库</Description>
</PropertyGroup>
<ItemGroup>
<None Remove="Images\file.png" />
<None Remove="Images\FormatPainter.cur" />
<None Include="A.png">
<Pack>True</Pack>
<PackagePath>
</PackagePath>
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Xaml.Behaviors.Wpf" Version="1.1.31" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="SvgPathProperties" Version="1.1.2" />
<PackageReference Include="System.Reactive" Version="5.0.0" />
<PackageReference Include="WpfAnimatedGif" Version="2.0.0" />
</ItemGroup>
<ItemGroup Condition="$(DefineConstants.Contains(NETCOREAPP)) == true">
<PackageReference Include="System.Drawing.Common" Version="5.0.2" />
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Update="Images\Gifs\car_chase.gif">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Accessibility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.CSharp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.VisualBasic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.Registry.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\Microsoft.Win32.SystemEvents.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\microsoft.xaml.behaviors.wpf\1.1.31\lib\netcoreapp3.1\Microsoft.Xaml.Behaviors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\mscorlib.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\netstandard.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\newtonsoft.json\13.0.1\lib\netstandard2.0\Newtonsoft.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationCore.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Aero2.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.AeroLite.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Classic.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Luna.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationFramework.Royale.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\PresentationUI.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\ReachFramework.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\svgpathproperties\1.1.2\lib\netstandard2.0\SvgPathProperties.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.AppContext.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Buffers.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.CodeDom.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Concurrent.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.NonGeneric.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Specialized.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Annotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.DataAnnotations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.EventBasedAsync.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ComponentModel.TypeConverter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.ConfigurationManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Configuration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Console.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Core.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.DataSetExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Data.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Contracts.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Debug.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.DiagnosticSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.EventLog.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.FileVersionInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.PerformanceCounter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Process.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.StackTrace.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TextWriterTraceListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tools.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.TraceSource.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Diagnostics.Tracing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.DirectoryServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.drawing.common\5.0.2\ref\netcoreapp3.0\System.Drawing.Common.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Drawing.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Dynamic.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Calendars.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Globalization.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.Brotli.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Compression.ZipFile.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.DriveInfo.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.FileSystem.Watcher.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.IsolatedStorage.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.MemoryMappedFiles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Packaging.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.Pipes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.IO.UnmanagedMemoryStream.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Expressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Linq.Queryable.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Memory.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Http.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.HttpListener.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NameResolution.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.NetworkInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Ping.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Requests.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.ServicePoint.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Sockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebHeaderCollection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.Client.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.WebSockets.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Numerics.Vectors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ObjectModel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Printing.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\system.reactive\5.0.0\buildTransitive\netcoreapp3.1\..\..\build\netcoreapp3.1\System.Reactive.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.DispatchProxy.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.ILGeneration.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Emit.Lightweight.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Metadata.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Reflection.TypeExtensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Reader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.ResourceManager.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Resources.Writer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.Unsafe.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.CompilerServices.VisualC.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Handles.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.RuntimeInformation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.InteropServices.WindowsRuntime.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Intrinsics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Loader.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Numerics.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Formatters.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.Serialization.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Claims.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Algorithms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Cng.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Csp.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Pkcs.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Primitives.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.ProtectedData.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.X509Certificates.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Cryptography.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Permissions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.Principal.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Security.SecureString.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceModel.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ServiceProcess.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.CodePages.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encoding.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Encodings.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.Json.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Text.RegularExpressions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.AccessControl.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Channels.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Overlapped.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Dataflow.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Tasks.Parallel.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Thread.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.ThreadPool.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Threading.Timer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Transactions.Local.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.ValueTuple.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Web.HttpUtility.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Controls.Ribbon.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Extensions.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.Design.Editors.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Forms.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Input.Manipulations.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Windows.Presentation.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xaml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Linq.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.ReaderWriter.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.Serialization.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XmlSerializer.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Xml.XPath.XDocument.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClient.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationClientSideProviders.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationProvider.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\UIAutomationTypes.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsBase.dll" />
<ReferencePath Include="C:\Program Files\dotnet\packs\Microsoft.WindowsDesktop.App.Ref\3.1.0\ref\netcoreapp3.1\WindowsFormsIntegration.dll" />
<ReferencePath Include="C:\Users\Administrator\.nuget\packages\wpfanimatedgif\2.0.0\lib\netcoreapp3.0\WpfAnimatedGif.dll" />
</ItemGroup>
<ItemGroup>
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\MultiSelectComboBox.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\PopupWindow.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\Controls\PropertiesView.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\ConnectorContainer.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\DiagramControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\LineControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\PointContainer.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\UserControls\TextControl.g.cs" />
<Compile Include="F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner\obj\Debug\netcoreapp3.1\GeneratedInternalTypeHelper.g.cs" />
</ItemGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk.WindowsDesktop" />
</Project>

View File

@@ -0,0 +1,218 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Resources;
using System.Windows.Shapes;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
namespace AIStudio.Wpf.DiagramDesigner
{
public class DrawingRubberbandAdorner : Adorner
{
private Brush _rubberbandBrush;
private Pen _rubberbandPen;
private DesignerCanvas _designerCanvas;
private IDiagramViewModel _viewModel
{
get
{
return _designerCanvas.DataContext as IDiagramViewModel;
}
}
private IDiagramServiceProvider _service
{
get
{
return DiagramServicesProvider.Instance.Provider;
}
}
private DrawMode DrawMode
{
get
{
if (_viewModel.DrawModeViewModel != null)
{
return _viewModel.DrawModeViewModel.GetDrawMode();
}
else
{
return _service.DrawModeViewModel.GetDrawMode();
}
}
}
private DrawingDesignerItemViewModelBase _drawingDesignerItem;
public DrawingRubberbandAdorner(DesignerCanvas designerCanvas, Point dragStartPoint)
: base(designerCanvas)
{
this._designerCanvas = designerCanvas;
this._designerCanvas.Focus();
if (DrawMode >= DrawMode.Eraser && DrawMode <= DrawMode.EraserPreview)
{
if (DrawMode == DrawMode.Eraser)
{
_drawingDesignerItem = new EraserDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null);
}
if (DrawMode == DrawMode.EraserPreview)
{
_drawingDesignerItem = new EraserPreviewDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null);
}
_rubberbandBrush = null;
_rubberbandPen = new Pen(new SolidColorBrush(Colors.Red) { Opacity = 0.5 }, _drawingDesignerItem.ColorViewModel.LineWidth);
}
else if (DrawMode >= DrawMode.ColorPicker && DrawMode <= DrawMode.ErasableHeart)
{
if (DrawMode == DrawMode.ErasableLine)
{
_drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasableRectangle)
{
_drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasableEllipse)
{
_drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasablePolyline)
{
_drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasablePolygon)
{
_drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasableDirectLine)
{
_drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ErasableText)
{
_drawingDesignerItem = new TextDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
}
else if (DrawMode == DrawMode.ColorPicker)
{
_drawingDesignerItem = new ColorPickerDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, true);
StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/color-picker.cur", UriKind.RelativeOrAbsolute));
this.Cursor = new Cursor(sri.Stream);
}
else
{
_drawingDesignerItem = new SharpDrawingDesignerItemViewModel(_viewModel, DrawMode, dragStartPoint, null, true);
}
_rubberbandBrush = null;//ColorObject.ToBrush(_drawingDesignerItem.ColorViewModel.FillColor);
_rubberbandPen = new Pen(_drawingDesignerItem.ColorViewModel.LineColor.ToBrush(), _drawingDesignerItem.ColorViewModel.LineWidth);
_rubberbandPen.DashStyle = new DashStyle(StrokeDashArray.Dash[(int)_drawingDesignerItem.ColorViewModel.LineDashStyle], 1);
}
else if (DrawMode >= DrawMode.Line && DrawMode <= DrawMode.DirectLine)
{
if (DrawMode == DrawMode.Line)
{
_drawingDesignerItem = new LineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
else if (DrawMode == DrawMode.Rectangle)
{
_drawingDesignerItem = new RectangleDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
else if (DrawMode == DrawMode.Ellipse)
{
_drawingDesignerItem = new EllipseDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
else if (DrawMode == DrawMode.Polyline)
{
_drawingDesignerItem = new PolylineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
else if (DrawMode == DrawMode.Polygon)
{
_drawingDesignerItem = new PolygonDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
else if (DrawMode == DrawMode.DirectLine)
{
_drawingDesignerItem = new DirectLineDrawingDesignerItemViewModel(_viewModel, dragStartPoint, null, false);
}
_rubberbandBrush = _drawingDesignerItem.ColorViewModel.FillColor.ToBrush();
_rubberbandPen = new Pen(_drawingDesignerItem.ColorViewModel.LineColor.ToBrush(), _drawingDesignerItem.ColorViewModel.LineWidth);
_rubberbandPen.DashStyle = new DashStyle(StrokeDashArray.Dash[(int)_drawingDesignerItem.ColorViewModel.LineDashStyle], 1);
}
if (_drawingDesignerItem == null)
{
}
}
protected override void OnMouseMove(System.Windows.Input.MouseEventArgs e)
{
if (_drawingDesignerItem?.OnMouseMove(this, e) == true)
{
if (!this.IsMouseCaptured)
this.CaptureMouse();
this.InvalidateVisual();
}
else
{
if (this.IsMouseCaptured) this.ReleaseMouseCapture();
}
e.Handled = true;
}
protected override void OnMouseUp(System.Windows.Input.MouseButtonEventArgs e)
{
if (_drawingDesignerItem?.OnMouseUp(this, e) == false)
{
return;
}
// release mouse capture
if (this.IsMouseCaptured) this.ReleaseMouseCapture();
// remove this adorner from adorner layer
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this._designerCanvas);
if (adornerLayer != null)
adornerLayer.Remove(this);
if (_drawingDesignerItem?.IsFinish == true)
{
_viewModel.AddCommand.Execute(_drawingDesignerItem);
}
this._service.DrawModeViewModel.ResetDrawMode();
e.Handled = true;
}
protected override void OnMouseDown(MouseButtonEventArgs e)
{
_drawingDesignerItem?.OnMouseDown(this, e);
e.Handled = true;
}
protected override void OnRender(DrawingContext dc)
{
base.OnRender(dc);
// without a background the OnMouseMove event would not be fired !
// Alternative: implement a CanvasBrush as a child of this adorner, like
// the ConnectionAdorner does.
dc.DrawRectangle(Brushes.Transparent, null, new Rect(RenderSize));
dc.DrawGeometry(_rubberbandBrush, _rubberbandPen, _drawingDesignerItem?.Geometry);
}
}
}

View File

@@ -1,11 +1,14 @@
using System.Windows;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System;
using System.Collections.Generic;
using System.Linq;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
namespace AIStudio.Wpf.DiagramDesigner
{
@@ -14,20 +17,33 @@ namespace AIStudio.Wpf.DiagramDesigner
private Point? startPoint;
private Point? endPoint;
private List<Point> pointList = new List<Point>();
private List<PointDesignerItemViewModel> pointDesignerItemViewModelList = new List<PointDesignerItemViewModel>();
private Pen rubberbandPen;
private DesignerCanvas _designerCanvas;
private IDiagramViewModel _viewModel { get { return _designerCanvas.DataContext as IDiagramViewModel; } }
private IDiagramServiceProvider _service { get { return DiagramServicesProvider.Instance.Provider; } }
private IDiagramViewModel _viewModel
{
get
{
return _designerCanvas.DataContext as IDiagramViewModel;
}
}
private IDiagramServiceProvider _service
{
get
{
return DiagramServicesProvider.Instance.Provider;
}
}
public RubberbandAdorner(DesignerCanvas designerCanvas, Point? dragStartPoint)
: base(designerCanvas)
{
this._designerCanvas = designerCanvas;
this._designerCanvas.Focus();
this.startPoint = dragStartPoint;
rubberbandPen = new Pen(Brushes.LightSlateGray, 1);
rubberbandPen.DashStyle = new DashStyle(new double[] { 2 }, 1);
}
@@ -39,29 +55,10 @@ namespace AIStudio.Wpf.DiagramDesigner
this.CaptureMouse();
endPoint = e.GetPosition(this);
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Polyline)
{
if (pointList.Count == 0 && this.startPoint.HasValue)
{
pointList.Add(this.startPoint.Value);
}
pointList.Add(endPoint.Value);
}
UpdateSelection();
this.InvalidateVisual();
}
else if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine)
{
if (pointList.Count == 0 && this.startPoint.HasValue)
{
pointList.Add(this.startPoint.Value);
var item = new PointDesignerItemViewModel(startPoint.Value);
item.ShowConnectors = true;
_viewModel.DirectAddItemCommand.Execute(item);
pointDesignerItemViewModelList.Add(item);
}
}
else
{
if (this.IsMouseCaptured) this.ReleaseMouseCapture();
@@ -72,40 +69,6 @@ namespace AIStudio.Wpf.DiagramDesigner
protected override void OnMouseUp(System.Windows.Input.MouseButtonEventArgs e)
{
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine && e.ChangedButton == MouseButton.Left )
{
endPoint = e.GetPosition(this);
bool isend = false;
var connector = ControlExtession.TryFindFromPoint<PointConnector>(this._designerCanvas, endPoint.Value);
if (connector != null)
{
if (object.Equals(connector.DataContext, pointDesignerItemViewModelList[0].TopConnector))
{
isend = true;
}
}
if (isend == false)
{
pointList.Add(endPoint.Value);
var item = new PointDesignerItemViewModel(endPoint.Value);
item.ShowConnectors = true;
_viewModel.DirectAddItemCommand.Execute(item);
pointDesignerItemViewModelList.Add(item);
UpdateSelection();
this.InvalidateVisual();
return;
}
else
{
this._service.DrawModeViewModel.SetDrawMode(DrawMode.Polygon);
}
}
// release mouse capture
if (this.IsMouseCaptured) this.ReleaseMouseCapture();
@@ -114,29 +77,11 @@ namespace AIStudio.Wpf.DiagramDesigner
if (adornerLayer != null)
adornerLayer.Remove(this);
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Line ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Rectangle ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Ellipse ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Polyline ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Polygon ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine ||
this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Text)
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Text)
{
if (this.startPoint.HasValue && this.endPoint.HasValue)
{
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Polyline
|| this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Polygon
|| this._service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine)
{
ShapeDesignerItemViewModel itemBase = new ShapeDesignerItemViewModel(this._service.DrawModeViewModel.GetDrawMode(), pointList);
_viewModel.AddItemCommand.Execute(itemBase);
itemBase.PointDesignerItemViewModels.ForEach(p =>
{
p.ParentId = itemBase.Id;
_viewModel.DirectAddItemCommand.Execute(p);
});
}
else if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Text)
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Text)
{
TextDesignerItemViewModel itemBase = new TextDesignerItemViewModel();
Point position = e.GetPosition(this);
@@ -145,24 +90,12 @@ namespace AIStudio.Wpf.DiagramDesigner
itemBase.ItemWidth = Math.Abs(this.endPoint.Value.X - this.startPoint.Value.X);
itemBase.ItemHeight = Math.Abs(this.endPoint.Value.Y - this.startPoint.Value.Y);
_viewModel.AddItemCommand.Execute(itemBase);
_viewModel.AddCommand.Execute(itemBase);
}
else
{
ShapeDesignerItemViewModel itemBase = new ShapeDesignerItemViewModel(this._service.DrawModeViewModel.GetDrawMode(), new List<Point> { this.startPoint.Value, this.endPoint.Value });
_viewModel.AddItemCommand.Execute(itemBase);
itemBase.PointDesignerItemViewModels.ForEach(p =>
{
p.ParentId = itemBase.Id;
_viewModel.DirectAddItemCommand.Execute(p);
});
}
}
}
this._service.DrawModeViewModel.ResetDrawMode();
}
pointDesignerItemViewModelList.ForEach(p => _viewModel.DirectRemoveItemCommand.Execute(p));
e.Handled = true;
}
@@ -171,41 +104,13 @@ namespace AIStudio.Wpf.DiagramDesigner
base.OnRender(dc);
// without a background the OnMouseMove event would not be fired !
// Alternative: implement a Canvas as a child of this adorner, like
// Alternative: implement a CanvasBrush as a child of this adorner, like
// the ConnectionAdorner does.
dc.DrawRectangle(Brushes.Transparent, null, new Rect(RenderSize));
if (this.startPoint.HasValue && this.endPoint.HasValue)
{
if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Line)
{
dc.DrawLine(rubberbandPen, this.startPoint.Value, this.endPoint.Value);
}
else if (this._service.DrawModeViewModel.GetDrawMode() == DrawMode.Ellipse)
{
var centerPoint = new Point((this.startPoint.Value.X + this.endPoint.Value.X) / 2, (this.startPoint.Value.Y + this.endPoint.Value.Y) / 2);
dc.DrawEllipse(Brushes.Transparent, rubberbandPen, centerPoint, Math.Abs(this.startPoint.Value.X - this.endPoint.Value.X) / 2, Math.Abs(this.startPoint.Value.Y - this.endPoint.Value.Y) / 2);
}
else if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.Polyline)
{
var disList = pointList.ToList();
for (int i = 1; i < pointList.Count; i++)
{
dc.DrawLine(rubberbandPen, disList[i - 1], disList[i]);
}
}
else if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine)
{
var disList = pointList.ToList();
for (int i = 1; i < pointList.Count; i++)
{
dc.DrawLine(rubberbandPen, disList[i - 1], disList[i]);
}
}
else
{
dc.DrawRectangle(Brushes.Transparent, rubberbandPen, new Rect(this.startPoint.Value, this.endPoint.Value));
}
dc.DrawRectangle(Brushes.Transparent, rubberbandPen, new Rect(this.startPoint.Value, this.endPoint.Value));
}
}
@@ -219,15 +124,13 @@ namespace AIStudio.Wpf.DiagramDesigner
return GetParent<T>(parentType, parent);
}
private void UpdateSelection()
{
IDiagramViewModel vm = (_designerCanvas.DataContext as IDiagramViewModel);
Rect rubberBand = new Rect(startPoint.Value, endPoint.Value);
ItemsControl itemsControl = GetParent<ItemsControl>(typeof(ItemsControl), _designerCanvas);
foreach (SelectableDesignerItemViewModelBase item in vm.Items)
foreach (SelectableDesignerItemViewModelBase item in vm.Items.ToList())
{
if (item is SelectableDesignerItemViewModelBase)
{
@@ -239,14 +142,16 @@ namespace AIStudio.Wpf.DiagramDesigner
if (rubberBand.Contains(itemBounds))
{
//item.IsSelected = true;
vm.SelectionService.AddToSelection(item);
//vm.SelectionService.AddToSelection(item);
item.AddToSelection(true, false);
}
else
{
if (!(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
{
//item.IsSelected = false;
vm.SelectionService.RemoveFromSelection(item);
//vm.SelectionService.RemoveFromSelection(item);
item.RemoveFromSelection();
}
}
}

View File

@@ -17,12 +17,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Algorithms
if (link.IsFullConnection == false)
continue;
var sourcePorts = link.SourceConnectorInfo.DataItem.Connectors;
var sourcePorts = link.SourceConnectorInfoFully.DataItem.Connectors;
var targetPorts = link.SinkConnectorInfoFully.DataItem.Connectors;
// Find the ports with minimal distance
var minDistance = double.MaxValue;
var minSourcePort = link.SourceConnectorInfo;
var minSourcePort = link.SourceConnectorInfoFully;
var minTargetPort = link.SinkConnectorInfoFully;
foreach (var sourcePort in sourcePorts)
{
@@ -41,16 +41,16 @@ namespace AIStudio.Wpf.DiagramDesigner.Algorithms
// Reconnect
if (link.SourceConnectorInfo != minSourcePort)
{
//portsToRefresh.Add(link.SourceConnectorInfo);
//portsToRefresh.Add(link.SourceConnectorInfoFully);
//portsToRefresh.Add(minSourcePort);
link.SetSourcePort(minSourcePort);
link.SourceConnectorInfo = minSourcePort;
}
if (link.SinkConnectorInfo != minTargetPort)
{
//portsToRefresh.Add(link.SinkConnectorInfoFully);
//portsToRefresh.Add(minTargetPort);
link.SetSinkPort(minTargetPort);
link.SinkConnectorInfo = minTargetPort;
}
}

View File

@@ -10,7 +10,7 @@ using AIStudio.Wpf.DiagramDesigner.Helpers;
namespace AIStudio.Wpf.DiagramDesigner
{
public static class DragAndDropProps
public static class DragAndDropProps
{
#region EnabledForDrag
@@ -31,10 +31,10 @@ namespace AIStudio.Wpf.DiagramDesigner
private static void OnEnabledForDragChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
FrameworkElement fe = (FrameworkElement) d;
FrameworkElement fe = (FrameworkElement)d;
if((bool)e.NewValue)
if ((bool)e.NewValue)
{
fe.PreviewMouseDown += Fe_PreviewMouseDown;
fe.MouseMove += Fe_MouseMove;
@@ -67,19 +67,33 @@ namespace AIStudio.Wpf.DiagramDesigner
static void Fe_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
Point? dragStartPoint = GetDragStartPoint((DependencyObject)sender);
if (e.LeftButton != MouseButtonState.Pressed)
dragStartPoint = null;
{
return;
}
Point? dragStartPoint = GetDragStartPoint((DependencyObject)sender);
var point = e.GetPosition((IInputElement)sender);
if (dragStartPoint == point)
return;
if (dragStartPoint.HasValue && ((FrameworkElement)sender).DataContext is ToolBoxData toolBoxData)
{
DragObject dataObject = new DragObject();
dataObject.ContentType = toolBoxData.Type;
dataObject.DesiredSize = toolBoxData.DesiredSize;
dataObject.DesiredMinSize = toolBoxData.DesiredMinSize;
dataObject.Icon = toolBoxData.Icon;
dataObject.Text = toolBoxData.Text;
dataObject.ColorViewModel = toolBoxData.ColorViewModel;
dataObject.DesignerItem = toolBoxData.Addition;
if (toolBoxData.Addition is DesignerItemViewModelBase designerItemViewModelBase)
{
dataObject.DesignerItem = designerItemViewModelBase.ToSerializableItem();
}
else
{
dataObject.DesignerItem = toolBoxData.Addition;
}
DragDrop.DoDragDrop((DependencyObject)sender, dataObject, DragDropEffects.Copy);
e.Handled = true;

View File

@@ -7,7 +7,7 @@ using System.Windows.Input;
namespace AIStudio.Wpf.DiagramDesigner
{
public static class SelectionProps
public static class SelectionProps
{
#region EnabledForSelection
@@ -51,20 +51,23 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if ((Keyboard.Modifiers & (ModifierKeys.Shift)) != ModifierKeys.None)
{
selectable.IsSelected = !selectable.IsSelected;
//selectable.IsSelected = !selectable.IsSelected;
selectable.AddToSelection(!selectable.IsSelected, false);
}
if ((Keyboard.Modifiers & (ModifierKeys.Control)) != ModifierKeys.None)
{
selectable.IsSelected = !selectable.IsSelected;
//selectable.IsSelected = !selectable.IsSelected;
selectable.AddToSelection(!selectable.IsSelected, false);
}
}
else if (!selectable.IsSelected)
{
selectable.AddToSelection(true);
selectable.AddToSelection(true, true);
}
}
}
}
}
}
}

View File

@@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace AIStudio.Wpf.DiagramDesigner
{
public static class WidthAndHeightProps
{
public static readonly DependencyProperty ActiveProperty = DependencyProperty.RegisterAttached(
"Active",
typeof(bool),
typeof(WidthAndHeightProps),
new FrameworkPropertyMetadata(OnActiveChanged));
public static bool GetActive(FrameworkElement frameworkElement)
{
return (bool)frameworkElement.GetValue(ActiveProperty);
}
public static void SetActive(FrameworkElement frameworkElement, bool active)
{
frameworkElement.SetValue(ActiveProperty, active);
}
public static readonly DependencyProperty BoundActualWidthProperty = DependencyProperty.RegisterAttached(
"BoundActualWidth",
typeof(double),
typeof(WidthAndHeightProps));
public static double GetBoundActualWidth(FrameworkElement frameworkElement)
{
return (double)frameworkElement.GetValue(BoundActualWidthProperty);
}
public static void SetBoundActualWidth(FrameworkElement frameworkElement, double width)
{
frameworkElement.SetValue(BoundActualWidthProperty, width);
}
public static readonly DependencyProperty BoundActualHeightProperty = DependencyProperty.RegisterAttached(
"BoundActualHeight",
typeof(double),
typeof(WidthAndHeightProps));
public static double GetBoundActualHeight(FrameworkElement frameworkElement)
{
return (double)frameworkElement.GetValue(BoundActualHeightProperty);
}
public static void SetBoundActualHeight(FrameworkElement frameworkElement, double height)
{
frameworkElement.SetValue(BoundActualHeightProperty, height);
}
private static void OnActiveChanged(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs e)
{
if (!(dependencyObject is FrameworkElement frameworkElement))
{
return;
}
if ((bool)e.NewValue)
{
frameworkElement.SizeChanged -= OnFrameworkElementSizeChanged;
frameworkElement.SizeChanged += OnFrameworkElementSizeChanged;
frameworkElement.Loaded -= FrameworkElement_Loaded;
frameworkElement.Loaded += FrameworkElement_Loaded;
}
else
{
frameworkElement.SizeChanged -= OnFrameworkElementSizeChanged;
frameworkElement.Loaded -= FrameworkElement_Loaded;
}
}
private static void FrameworkElement_Loaded(object sender, RoutedEventArgs e)
{
UpdateObservedSizesForFrameworkElement(sender as FrameworkElement);
}
private static void OnFrameworkElementSizeChanged(object sender, SizeChangedEventArgs e)
{
if (sender is FrameworkElement frameworkElement)
{
UpdateObservedSizesForFrameworkElement(frameworkElement);
}
}
private static void UpdateObservedSizesForFrameworkElement(FrameworkElement frameworkElement)
{
frameworkElement.SetCurrentValue(BoundActualWidthProperty, frameworkElement.ActualWidth);
frameworkElement.SetCurrentValue(BoundActualHeightProperty, frameworkElement.ActualHeight);
}
}
}

View File

@@ -36,6 +36,11 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
public bool HasOldValue(string propertyName, string guid = null)
{
return _oldDic.ContainsKey(propertyName + guid ?? string.Empty);
}
public void ClearOldValue<T>(string propertyName, string guid = null)
{
if (_oldDic.ContainsKey(propertyName + guid ?? string.Empty))
@@ -134,6 +139,11 @@ namespace AIStudio.Wpf.DiagramDesigner
PropertyChanged?.Invoke(sender, new ValuePropertyChangedEventArgs(propertyName, oldvalue, newvalue));
}
protected void RaisePropertyChanged(object sender, PropertyChangedEventArgs args)
{
PropertyChanged?.Invoke(sender, args);
}
/// <summary>
/// Raises this object's PropertyChanged event.
/// </summary>

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
namespace AIStudio.Wpf.DiagramDesigner
{
public class BlockConnector : ContentControl
{
public ConnectorOrientation Orientation { get; set; }
public ConnectorInfoBase Info
{
get
{
if (Content is ConnectorInfoBase connectorInfo)
return connectorInfo;
return this.DataContext as ConnectorInfoBase;
}
}
}
public class BlockGrid : Grid
{
}
}

View File

@@ -0,0 +1,220 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Helpers;
namespace AIStudio.Wpf.DiagramDesigner
{
public class BlockItemsContainer : ContentControl
{
static BlockItemsContainer()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(BlockItemsContainer), new FrameworkPropertyMetadata(typeof(BlockItemsContainer)));
}
public static readonly DependencyProperty BorderProperty = DependencyProperty.Register(
nameof(Border), typeof(object), typeof(BlockItemsContainer), new PropertyMetadata(default(object)));
public object Border
{
get => GetValue(BorderProperty);
set => SetValue(BorderProperty, value);
}
public static readonly DependencyProperty BorderTemplateProperty = DependencyProperty.Register(
nameof(BorderTemplate), typeof(DataTemplate), typeof(BlockItemsContainer), new PropertyMetadata(default(DataTemplate)));
[Bindable(true), Category("Content")]
public DataTemplate BorderTemplate
{
get => (DataTemplate)GetValue(BorderTemplateProperty);
set => SetValue(BorderTemplateProperty, value);
}
public static readonly DependencyProperty BorderTemplateSelectorProperty = DependencyProperty.Register(
nameof(BorderTemplateSelector), typeof(DataTemplateSelector), typeof(BlockItemsContainer), new PropertyMetadata(default(DataTemplateSelector)));
[Bindable(true), Category("Content")]
public DataTemplateSelector BorderTemplateSelector
{
get => (DataTemplateSelector)GetValue(BorderTemplateSelectorProperty);
set => SetValue(BorderTemplateSelectorProperty, value);
}
public static readonly DependencyProperty BorderStringFormatProperty = DependencyProperty.Register(
nameof(BorderStringFormat), typeof(string), typeof(BlockItemsContainer), new PropertyMetadata(default(string)));
[Bindable(true), Category("Content")]
public string BorderStringFormat
{
get => (string)GetValue(BorderStringFormatProperty);
set => SetValue(BorderStringFormatProperty, value);
}
public static readonly DependencyProperty ParentPanelProperty =
DependencyProperty.Register(nameof(ParentPanel), typeof(FrameworkElement), typeof(BlockItemsContainer),
new FrameworkPropertyMetadata(null));
public FrameworkElement ParentPanel
{
get
{
return (FrameworkElement)GetValue(ParentPanelProperty);
}
set
{
SetValue(ParentPanelProperty, value);
}
}
public static readonly DependencyProperty GetOffSetFuncProperty =
DependencyProperty.Register(nameof(GetOffSetFunc),
typeof(Func<Point>),
typeof(BlockItemsContainer),
new FrameworkPropertyMetadata(null));
public Func<Point> GetOffSetFunc
{
get
{
return (Func<Point>)this.GetValue(GetOffSetFuncProperty);
}
set
{
this.SetValue(GetOffSetFuncProperty, value);
}
}
public Func<Point> GetOffSet
{
get
{
return new Func<Point>(() => this.TransformToAncestor(ParentPanel).Transform(new Point(0, 0)));
}
}
public BlockItemsContainerInfo Info
{
get
{
if (Border is BlockItemsContainerInfo itemsContainerInfo)
return itemsContainerInfo;
return this.DataContext as BlockItemsContainerInfo;
}
}
public BlockDesignerItemViewModel DragObject
{
get; private set;
}
public Point DragOffset
{
get; private set;
}
public Point? FirstPoint
{
get; private set;
}
public BlockItemsContainer()
{
}
public static List<BlockItemsContainer> Containers = new List<BlockItemsContainer>();
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
GetOffSetFunc = GetOffSet;
}
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
FirstPoint = e.GetPosition(this);
Containers.Add(this);
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (FirstPoint != null)
{
var currentPoint = e.GetPosition(this);
if (Math.Sqrt(Math.Pow(FirstPoint.Value.X - currentPoint.X, 2) + Math.Pow(FirstPoint.Value.Y - currentPoint.Y, 2)) > 5)
{
FirstPoint = null;
if (Info?.Children.Count > 0)
{
var borders = VisualHelper.FindVisualChildren<BlockGrid>(this);
foreach (var border in borders)
{
var itemsContainers = VisualHelper.TryFindParent<BlockItemsContainer>(border);
if (this != itemsContainers)
{
continue;
}
var point = border.TransformToAncestor(this).Transform(new Point(0, 0));
var rect = new Rect(point.X, point.Y, border.ActualWidth, border.ActualHeight);
if (rect.Contains(currentPoint))
{
DragObject = border.DataContext as BlockDesignerItemViewModel;
DragOffset = new Point(currentPoint.X - point.X, currentPoint.Y - point.Y);
break;
}
}
if (DragObject != null)
{
Containers.ForEach(p => p.FirstPoint = null);
DesignerCanvas canvas = GetDesignerCanvas(this);
if (canvas != null)
{
canvas.SourceItemsContainer = this;
e.Handled = true;
}
}
}
}
}
}
protected override void OnMouseUp(MouseButtonEventArgs e)
{
base.OnMouseUp(e);
FirstPoint = null;
Containers.Clear();
}
public ConnectorOrientation Orientation
{
get; set;
}
// iterate through visual tree to get parent DesignerCanvas
private DesignerCanvas GetDesignerCanvas(DependencyObject element)
{
while (element != null && !(element is DesignerCanvas))
element = VisualTreeHelper.GetParent(element);
return element as DesignerCanvas;
}
}
}

View File

@@ -0,0 +1,67 @@
<ItemsControl x:Class="AIStudio.Wpf.DiagramDesigner.BlockItemsControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:AIStudio.Wpf.DiagramDesigner"
xmlns:dd="clr-namespace:AIStudio.Wpf.DiagramDesigner"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<ItemsControl.Resources>
<ResourceDictionary>
<ControlTemplate x:Key="BlockConnectorDecoratorTemplate"
TargetType="{x:Type Control}">
<Grid Margin="{Binding ConnectorMargin}">
<dd:BlockConnector
Content="{Binding LeftConnector}"
SnapsToDevicePixels="True"
Orientation="Left"
VerticalAlignment="Stretch"
HorizontalAlignment="Left"/>
<dd:BlockConnector
Content="{Binding TopConnector}"
SnapsToDevicePixels="True"
Orientation="Top"
VerticalAlignment="Top"
HorizontalAlignment="Stretch"/>
<dd:BlockConnector
Content="{Binding RightConnector}"
SnapsToDevicePixels="True"
Orientation="Right"
VerticalAlignment="Stretch"
HorizontalAlignment="Right"/>
<dd:BlockConnector
Content="{Binding BottomConnector}"
SnapsToDevicePixels="True"
Orientation="Bottom"
VerticalAlignment="Bottom"
HorizontalAlignment="Stretch"/>
</Grid>
</ControlTemplate>
</ResourceDictionary>
</ItemsControl.Resources>
<ItemsControl.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<dd:BlockGrid
dd:WidthAndHeightProps.Active="True"
dd:WidthAndHeightProps.BoundActualWidth="{Binding ActualItemWidth,Mode=OneWayToSource}"
dd:WidthAndHeightProps.BoundActualHeight="{Binding ActualItemHeight,Mode=OneWayToSource}">
<ContentControl Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
<!-- PART_ConnectorDecorator -->
<Control x:Name="PART_ConnectorDecorator" Template="{StaticResource BlockConnectorDecoratorTemplate}"/>
</dd:BlockGrid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Connectors.Count}" Value="0">
<Setter TargetName="PART_ConnectorDecorator" Property="Visibility" Value="Collapsed" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace AIStudio.Wpf.DiagramDesigner
{
/// <summary>
/// BlockItemsControl.xaml 的交互逻辑
/// </summary>
public partial class BlockItemsControl : ItemsControl
{
public BlockItemsControl()
{
InitializeComponent();
}
protected override System.Windows.DependencyObject GetContainerForItemOverride()
{
return new ListBoxItem();
}
}
}

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
namespace AIStudio.Wpf.DiagramDesigner
{
@@ -59,13 +60,13 @@ namespace AIStudio.Wpf.DiagramDesigner
public class CinchMenuItem
{
#region Public Properties
public String Text { get; set; }
public String IconUrl { get; set; }
public string Text { get; set; }
public string IconUrl { get; set; }
public bool IsChecked { get; set; }
public bool IsCheckable { get; set; }
public List<CinchMenuItem> Children { get; private set; }
public Object CommandParameter { get; set; }
public SimpleCommand Command { get; set; }
public object CommandParameter { get; set; }
public ICommand Command { get; set; }
#endregion
#region Ctor

View File

@@ -32,14 +32,14 @@ namespace AIStudio.Wpf.DiagramDesigner
return element as DesignerCanvas;
}
public FullyCreatedConnectorInfo Info
public ConnectorInfoBase Info
{
get
{
if (Content is FullyCreatedConnectorInfo connectorInfo)
if (Content is ConnectorInfoBase connectorInfo)
return connectorInfo;
return this.DataContext as FullyCreatedConnectorInfo;
return this.DataContext as ConnectorInfoBase;
}
}

View File

@@ -1,24 +1,21 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Markup;
using System.Windows.Media;
using System.Xml;
using System.Linq;
using System.Windows.Shapes;
using System.Windows.Resources;
using System.Runtime.InteropServices;
using Newtonsoft.Json;
using AIStudio.Wpf.DiagramDesigner.Helpers;
using AIStudio.Wpf.DiagramDesigner.Models;
using AIStudio.Wpf.DiagramDesigner.ViewModels;
using AIStudio.Wpf.DiagramDesigner.ViewModels.BaseViewModel;
namespace AIStudio.Wpf.DiagramDesigner
{
public class DesignerCanvas : Canvas
{
#region
private IDiagramViewModel _viewModel
{
get
@@ -33,13 +30,101 @@ namespace AIStudio.Wpf.DiagramDesigner
return DiagramServicesProvider.Instance.Provider;
}
}
private ConnectionViewModel partialConnection;
private List<Connector> connectorsHit = new List<Connector>();
private ConnectionViewModel _partialConnection;
private Point? rubberbandSelectionStartPoint = null;
private Connector _sourceConnector;
public Connector SourceConnector
{
get
{
return _sourceConnector;
}
set
{
if (_sourceConnector != value)
{
_sourceConnector = value;
if (_sourceConnector != null)
{
ConnectorInfoBase sourceDataItem = _sourceConnector.Info;
//Rect rectangleBounds = _sourceConnector.TransformToVisual(this).TransformBounds(new Rect(_sourceConnector.RenderSize));
//Point point = new Point(rectangleBounds.Left + (rectangleBounds.Width / 2),
// rectangleBounds.Bottom + (rectangleBounds.Height / 2));
Point point = sourceDataItem.MiddlePosition;
_partialConnection = new ConnectionViewModel(_viewModel, sourceDataItem, new PartCreatedConnectorInfo(point.X, point.Y), LineDrawMode, RouterMode);
_viewModel.Add(_partialConnection);
_partialConnection.ZIndex = -1;
}
}
}
}
private Connector _sinkConnector;
public Connector SinkConnector
{
get
{
return _sinkConnector;
}
set
{
if (_sinkConnector != null)
{
_sinkConnector.Info.DisableAttachTo = false;
}
if (_sinkConnector != value)
{
_sinkConnector = value;
}
}
}
private BlockItemsContainer _sourceItemsContainer;
public BlockItemsContainer SourceItemsContainer
{
get
{
return _sourceItemsContainer;
}
set
{
if (_sourceItemsContainer != value)
{
_sourceItemsContainer = value;
if (_sourceItemsContainer != null)
{
BlockItemsContainerInfo sourceContainerInfo = _sourceItemsContainer.Info;
sourceContainerInfo.DataItem.RemoveChild(_sourceItemsContainer.DragObject, sourceContainerInfo);
EnterMove();
}
}
}
}
private DrawMode DrawMode
{
get
{
if (_viewModel.DrawModeViewModel != null)
{
return _viewModel.DrawModeViewModel.GetDrawMode();
}
else
{
return _service.DrawModeViewModel.GetDrawMode();
}
}
}
private DrawMode LineDrawMode
{
get
{
@@ -53,6 +138,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
}
private RouterMode RouterMode
{
get
@@ -68,36 +154,6 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private bool EnableSnapping
{
get
{
if (_viewModel.DrawModeViewModel != null)
{
return _viewModel.DrawModeViewModel.EnableSnapping;
}
else
{
return _service.DrawModeViewModel.EnableSnapping;
}
}
}
private double SnappingRadius
{
get
{
if (_viewModel.DrawModeViewModel != null)
{
return _viewModel.DrawModeViewModel.SnappingRadius;
}
else
{
return _service.DrawModeViewModel.SnappingRadius;
}
}
}
#region GridCellSize
public static readonly DependencyProperty GridCellSizeProperty =
@@ -186,11 +242,44 @@ namespace AIStudio.Wpf.DiagramDesigner
#endregion
#endregion
#region
public DesignerCanvas()
{
this.AllowDrop = true;
Mediator.Instance.Register(this);
this.Focusable = true;
this.Loaded += DesignerCanvas_Loaded;
this.IsVisibleChanged += DesignerCanvas_IsVisibleChanged;
this.DataContextChanged += DesignerCanvas_DataContextChanged;
}
private void DesignerCanvas_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (e.OldValue is IDiagramViewModel oldvalue)
{
//var image = this.ToBitmap().ToBitmapSource();
//oldvalue.Thumbnail = new ImageBrush(image) { Stretch = Stretch.Uniform };
}
if (e.NewValue is IDiagramViewModel newvalue)
{
newvalue.Thumbnail = new VisualBrush(this) { Stretch = Stretch.Uniform };
}
}
private void DesignerCanvas_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (IsVisible)
{
this.Focus();
}
}
protected void DesignerCanvas_Loaded(object sender, RoutedEventArgs e)
{
//Mediator.Instance.Register(this);
this.Focus();
_service.PropertyChanged += _service_PropertyChanged;
}
@@ -213,7 +302,9 @@ namespace AIStudio.Wpf.DiagramDesigner
dc.DrawLine(new Pen(new SolidColorBrush(GridColor), 1), new Point(i, GridMarginSize.Height), new Point(i, rect.Height - GridMarginSize.Height));
dc.DrawLine(new Pen(new SolidColorBrush(GridColor), 1), new Point(rect.Width - GridMarginSize.Width, GridMarginSize.Height), new Point(rect.Width - GridMarginSize.Width, rect.Height - GridMarginSize.Height));
}
#endregion
#region Format/Move
private void _service_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (sender is IDrawModeViewModel)
@@ -228,15 +319,26 @@ namespace AIStudio.Wpf.DiagramDesigner
{
EnterMove();
}
else if (_service.DrawModeViewModel.CursorMode == CursorMode.Exit)
{
ExitCursor();
}
}
else if (e.PropertyName == nameof(_service.DrawModeViewModel.DrawingDrawMode))
{
if (_service.DrawModeViewModel.DrawingDrawMode == DrawMode.ColorPicker)
{
EnterColorPicker();
}
}
}
}
#region Format/Move
private void EnterFormat()
{
StreamResourceInfo sri = Application.GetResourceStream(new Uri("pack://application:,,,/AIStudio.Wpf.DiagramDesigner;component/Images/FormatPainter.cur", UriKind.RelativeOrAbsolute));
this.Cursor = new Cursor(sri.Stream);
foreach (SelectableDesignerItemViewModelBase item in _viewModel.Items)
{
item.IsHitTestVisible = false;
@@ -252,6 +354,21 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
private void EnterColorPicker()
{
// create rubberband adorner
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
if (adornerLayer != null)
{
DrawingRubberbandAdorner adorner = new DrawingRubberbandAdorner(this, new Point());
if (adorner != null)
{
adornerLayer.Add(adorner);
}
}
}
private void ExitCursor()
{
this.Cursor = Cursors.Arrow;
@@ -261,68 +378,20 @@ namespace AIStudio.Wpf.DiagramDesigner
}
_service.DrawModeViewModel.CursorMode = CursorMode.Normal;
}
#endregion
private void Format(SelectableDesignerItemViewModelBase source, SelectableDesignerItemViewModelBase target)
{
CopyHelper.CopyPropertyValue(source.ColorViewModel, target.ColorViewModel);
CopyHelper.CopyPropertyValue(source.FontViewModel, target.FontViewModel);
CopyHelper.CopyPropertyValue(source.ShapeViewModel, target.ShapeViewModel);
CopyHelper.CopyPropertyValue(source.AnimationViewModel, target.AnimationViewModel);
}
private Connector sourceConnector;
public Connector SourceConnector
{
get
{
return sourceConnector;
}
set
{
if (sourceConnector != value)
{
sourceConnector = value;
connectorsHit.Add(sourceConnector);
FullyCreatedConnectorInfo sourceDataItem = sourceConnector.Info;
Rect rectangleBounds = sourceConnector.TransformToVisual(this).TransformBounds(new Rect(sourceConnector.RenderSize));
Point point = new Point(rectangleBounds.Left + (rectangleBounds.Width / 2),
rectangleBounds.Bottom + (rectangleBounds.Height / 2));
partialConnection = new ConnectionViewModel(_viewModel, sourceDataItem, new PartCreatedConnectorInfo(point.X, point.Y), DrawMode, RouterMode);
_viewModel.DirectAddItemCommand.Execute(partialConnection);
}
}
}
private FullyCreatedConnectorInfo sourceConnectorInfo;
public FullyCreatedConnectorInfo SourceConnectorInfo
{
get
{
return sourceConnectorInfo;
}
set
{
if (sourceConnectorInfo != value)
{
sourceConnectorInfo = value;
sourceConnector = new Connector() { Name = "占位" };//占位使用
connectorsHit.Add(sourceConnector);
Rect rectangleBounds = new Rect(sourceConnectorInfo.DataItem.Left, sourceConnectorInfo.DataItem.Top, 3, 3);
Point point = new Point(rectangleBounds.Left + (rectangleBounds.Width / 2),
rectangleBounds.Bottom + (rectangleBounds.Height / 2));
partialConnection = new ConnectionViewModel(_viewModel, sourceConnectorInfo, new PartCreatedConnectorInfo(point.X, point.Y), DrawMode, RouterMode);
_viewModel.DirectAddItemCommand.Execute(partialConnection);
}
}
}
#endregion
protected override void OnMouseDown(MouseButtonEventArgs e)
{
base.OnMouseDown(e);
if (_viewModel.IsReadOnly) return;
if (_service.DrawModeViewModel.CursorMode == CursorMode.Format)
@@ -349,24 +418,38 @@ namespace AIStudio.Wpf.DiagramDesigner
{
// in case that this click is the start for a
// drag operation we cache the start point
rubberbandSelectionStartPoint = e.GetPosition(this);
Point currentPoint = e.GetPosition(this);
rubberbandSelectionStartPoint = currentPoint;
if (!(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)))
{
_viewModel.ClearSelectedItemsCommand.Execute(null);
_viewModel.ClearSelectedItems();
}
e.Handled = true;
if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.ConnectingLineSmooth)
if (_service.DrawModeViewModel.SharpDrawModeSelected ||
(_service.DrawModeViewModel.DrawingDrawModeSelected && _service.DrawModeViewModel.DrawingDrawMode != DrawMode.Select))
{
if (connectorsHit.Count == 0)
// create rubberband adorner
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(this);
if (adornerLayer != null)
{
LinkPointDesignerItemViewModel pointItemView = new LinkPointDesignerItemViewModel(rubberbandSelectionStartPoint.Value);
_viewModel.DirectAddItemCommand.Execute(pointItemView);
SourceConnectorInfo = pointItemView.Connectors.FirstOrDefault();
DrawingRubberbandAdorner adorner = new DrawingRubberbandAdorner(this, currentPoint);
if (adorner != null)
{
adornerLayer.Add(adorner);
}
}
}
else if (_service.DrawModeViewModel.LineDrawModeSelected)//画线模式,可以不命中实体
{
if (SourceConnector == null)
{
//新建一个Part连接点
SourceConnector = new Connector() { Content = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y), Tag = "虚拟的连接点" };
}
}
e.Handled = true;
}
}
@@ -374,6 +457,9 @@ namespace AIStudio.Wpf.DiagramDesigner
protected override void OnMouseMove(MouseEventArgs e)
{
//var focusedElement = Keyboard.FocusedElement;
//Debug.WriteLine("focusedElement" + focusedElement?.ToString());
base.OnMouseMove(e);
if (_viewModel.IsReadOnly) return;
@@ -383,6 +469,7 @@ namespace AIStudio.Wpf.DiagramDesigner
var point = CursorPointManager.GetCursorPosition();
_viewModel.CurrentColor = ColorPickerManager.GetColor(point.X, point.Y);
//移动
if (_service.DrawModeViewModel.CursorMode == CursorMode.Move)
{
_viewModel.SelectedItems.OfType<DesignerItemViewModelBase>().ToList().ForEach(p => {
@@ -396,27 +483,38 @@ namespace AIStudio.Wpf.DiagramDesigner
{
if (e.LeftButton == MouseButtonState.Pressed)
{
partialConnection.SinkConnectorInfo = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y);
HitTesting(currentPoint);
_partialConnection.SinkConnectorInfo = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y);
if (EnableSnapping)
SinkConnector = HitTesting(currentPoint);
if (SinkConnector?.Info?.CanAttachTo(SourceConnector?.Info) == false)
{
var nearPort = FindNearPortToAttachTo();
if (nearPort != null || partialConnection.SinkConnectorInfoFully != null)
SinkConnector.Info.DisableAttachTo = true;
}
if (_viewModel.DiagramOption.SnappingOption.EnableSnapping)
{
var nearPort = _viewModel.FindNearPortToAttachTo(_partialConnection);
if (nearPort != null)
{
//var oldPort = _ongoingLink.TargetPort;
//_ongoingLink.SetTargetPort(nearPort);
//oldPort?.Refresh();
//nearPort?.Refresh();
partialConnection.SinkConnectorInfo = nearPort;
_partialConnection.SinkConnectorInfo = nearPort;
}
}
}
}
else if (SourceItemsContainer != null)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
SourceItemsContainer.DragObject.Left = currentPoint.X - SourceItemsContainer.DragOffset.X;
SourceItemsContainer.DragObject.Top = currentPoint.Y - SourceItemsContainer.DragOffset.Y;
(_viewModel as IBlockDiagramViewModel).PreviewNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { SourceItemsContainer.DragObject });
}
}
else
{
// if mouse button is not pressed we have no drag operation, ...
if (e.LeftButton != MouseButtonState.Pressed && _service.DrawModeViewModel.GetDrawMode() != DrawMode.DirectLine)
if (e.LeftButton != MouseButtonState.Pressed)
rubberbandSelectionStartPoint = null;
// ... but if mouse button is pressed and start
@@ -435,6 +533,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
}
}
e.Handled = true;
}
@@ -444,62 +543,76 @@ namespace AIStudio.Wpf.DiagramDesigner
if (_viewModel.IsReadOnly) return;
if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine)
{
return;
}
Mediator.Instance.NotifyColleagues<bool>("DoneDrawingMessage", true);
if (sourceConnector != null)
if (SourceConnector != null)
{
FullyCreatedConnectorInfo sourceDataItem = sourceConnectorInfo ?? (sourceConnector.Info);
if (connectorsHit.Count() == 2)
ConnectorInfoBase sourceDataItem = SourceConnector.Info;
if (SinkConnector != null && SinkConnector.Info?.DisableAttachTo == false)
{
Connector sinkConnector = connectorsHit.Last();
FullyCreatedConnectorInfo sinkDataItem = sinkConnector.Info;
ConnectorInfoBase sinkDataItem = SinkConnector.Info;
int indexOfLastTempConnection = sinkDataItem.DataItem.Root.Items.Count - 1;
sinkDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
sinkDataItem.DataItem.Root.Items[indexOfLastTempConnection]);
sinkDataItem.DataItem.Root.AddItemCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode));
_viewModel.Delete(_partialConnection);
_viewModel.AddCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, LineDrawMode, RouterMode));
}
else if (partialConnection.IsFullConnection)
else if (_partialConnection.IsFullConnection)//自动连接模式
{
partialConnection.RaiseFullConnection();
_viewModel.ClearAttachTo();
}
else if (_service.DrawModeViewModel.GetDrawMode() == DrawMode.DirectLine && connectorsHit.Count() == 1)
else if (_service.DrawModeViewModel.LineDrawModeSelected)
{
LinkPointDesignerItemViewModel pointItemView = new LinkPointDesignerItemViewModel(e.GetPosition(this));
FullyCreatedConnectorInfo sinkDataItem = pointItemView.TopConnector;
Point currentPoint = e.GetPosition(this);
ConnectorInfoBase sinkDataItem = new PartCreatedConnectorInfo(currentPoint.X, currentPoint.Y);
int indexOfLastTempConnection = _viewModel.Items.Count - 1;
_viewModel.DirectRemoveItemCommand.Execute(_viewModel.Items[indexOfLastTempConnection]);
_viewModel.DirectAddItemCommand.Execute(pointItemView);
var connector = new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, DrawMode, RouterMode);
_viewModel.AddItemCommand.Execute(connector);
sourceDataItem.DataItem.ZIndex++;
connector.ZIndex--;
_viewModel.Delete(_partialConnection);
_viewModel.AddCommand.Execute(new ConnectionViewModel(_viewModel, sourceDataItem, sinkDataItem, LineDrawMode, RouterMode));
}
else
{
//Need to remove last item as we did not finish drawing the path
int indexOfLastTempConnection = sourceDataItem.DataItem.Root.Items.Count - 1;
sourceDataItem.DataItem.Root.DirectRemoveItemCommand.Execute(
sourceDataItem.DataItem.Root.Items[indexOfLastTempConnection]);
_viewModel.Delete(_partialConnection);
}
}
else if (SourceItemsContainer != null)
{
(_viewModel as IBlockDiagramViewModel).FinishNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { SourceItemsContainer.DragObject });
ExitCursor();
}
connectorsHit = new List<Connector>();
sourceConnector = null;
sourceConnectorInfo = null;
SourceConnector = null;
SinkConnector = null;
_partialConnection = null;
SourceItemsContainer = null;
_service.DrawModeViewModel.ResetDrawMode();
}
}
protected override void OnPreviewKeyDown(KeyEventArgs e)
{
base.OnPreviewKeyDown(e);
if (_viewModel.IsReadOnly) return;
e.Handled = _viewModel.ExecuteShortcut(e);
}
protected override void OnPreviewMouseWheel(MouseWheelEventArgs e)
{
base.OnPreviewMouseWheel(e);
if (Keyboard.IsKeyDown(Key.LeftCtrl) == false
&& Keyboard.IsKeyDown(Key.RightCtrl) == false)
{
return;
}
var newZoomValue = _viewModel.ZoomValue + (e.Delta > 0 ? 0.1 : -0.1);
_viewModel.ZoomValue = Math.Max(Math.Min(newZoomValue, _viewModel.MaximumZoomValue), _viewModel.MinimumZoomValue);
e.Handled = true;
}
protected override Size MeasureOverride(Size constraint)
{
@@ -528,27 +641,50 @@ namespace AIStudio.Wpf.DiagramDesigner
return size;
}
private void HitTesting(Point hitPoint)
private Connector HitTesting(Point hitPoint)
{
DependencyObject hitObject = this.InputHitTest(hitPoint) as DependencyObject;
while (hitObject != null &&
hitObject.GetType() != typeof(DesignerCanvas))
{
if (hitObject is Connector connector && connector.Info != null)
if (hitObject is Connector connector)
{
if (SourceConnector == null || connector.Info.CanAttachTo(SourceConnector.Info))
{
if (connectorsHit.Any(p => p.Name == "占位"))
{
connectorsHit.Remove(connectorsHit.FirstOrDefault(p => p.Name == "占位"));
}
if (!connectorsHit.Contains(hitObject as Connector))
connectorsHit.Add(hitObject as Connector);
}
return connector;
}
hitObject = VisualTreeHelper.GetParent(hitObject);
}
return null;
}
protected override void OnDragOver(DragEventArgs e)
{
DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;
if (dragObject != null && (dragObject.ContentType == typeof(BlockDesignerItemViewModel) || dragObject.ContentType.IsSubclassOf(typeof(BlockDesignerItemViewModel))))
{
var position = e.GetPosition(this);
BlockDesignerItemViewModel itemBase = Activator.CreateInstance(dragObject.ContentType) as BlockDesignerItemViewModel;
itemBase.Text = dragObject.Text;
itemBase.Icon = dragObject.Icon;
itemBase.ColorViewModel = CopyHelper.Mapper(dragObject.ColorViewModel);
if (dragObject.DesiredSize != null)
{
itemBase.ItemWidth = dragObject.DesiredSize.Value.Width;
itemBase.ItemHeight = dragObject.DesiredSize.Value.Height;
}
if (dragObject.DesiredMinSize != null)
{
itemBase.MinItemWidth = dragObject.DesiredMinSize.Value.Width;
itemBase.MinItemHeight = dragObject.DesiredMinSize.Value.Height;
}
itemBase.Left = Math.Max(0, position.X - itemBase.GetItemWidth() / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.GetItemHeight() / 2);
(_viewModel as IBlockDiagramViewModel)?.PreviewNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { itemBase });
}
base.OnDragOver(e);
}
protected override void OnDrop(DragEventArgs e)
@@ -560,24 +696,47 @@ namespace AIStudio.Wpf.DiagramDesigner
DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;
if (dragObject != null)
{
_viewModel.ClearSelectedItemsCommand.Execute(null);
Point position = e.GetPosition(this);
_viewModel.ClearSelectedItems();
Point position = e.GetPosition(this);
if (dragObject.DesignerItem is SerializableObject serializableObject)
{
var designerItems = serializableObject.ToObject();
var minleft = designerItems.OfType<DesignerItemViewModelBase>().Min(p => p.Left);
var mintop = designerItems.OfType<DesignerItemViewModelBase>().Min(p => p.Top);
var maxright = designerItems.OfType<DesignerItemViewModelBase>().Max(p => p.Left + p.ItemWidth);
var maxbottom = designerItems.OfType<DesignerItemViewModelBase>().Max(p => p.Top + p.ItemHeight);
var maxright = designerItems.OfType<DesignerItemViewModelBase>().Max(p => p.Left + p.GetItemWidth());
var maxbottom = designerItems.OfType<DesignerItemViewModelBase>().Max(p => p.Top + p.GetItemHeight());
var itemswidth = maxright - minleft;
var itemsheight = maxbottom - mintop;
foreach (var item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.Left += position.X - itemswidth / 2;
item.Top += position.Y - itemsheight / 2;
item.Top += position.Y - itemsheight / 2;
}
_viewModel.AddCommand.Execute(designerItems);
}
else if (dragObject.DesignerItem is SerializableItem serializableItem)
{
Type type = TypeHelper.GetType(serializableItem.ModelTypeName);
DesignerItemViewModelBase itemBase = Activator.CreateInstance(type, _viewModel, serializableItem, ".json") as DesignerItemViewModelBase;
itemBase.Left = Math.Max(0, position.X - itemBase.GetItemWidth() / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.GetItemHeight() / 2);
if (dragObject.DesiredSize != null)
{
itemBase.ItemWidth = dragObject.DesiredSize.Value.Width;
itemBase.ItemHeight = dragObject.DesiredSize.Value.Height;
}
if (dragObject.DesiredMinSize != null)
{
itemBase.MinItemWidth = dragObject.DesiredMinSize.Value.Width;
itemBase.MinItemHeight = dragObject.DesiredMinSize.Value.Height;
}
_viewModel.AddCommand.Execute(itemBase);
if (itemBase is BlockDesignerItemViewModel block)
{
(_viewModel as IBlockDiagramViewModel).FinishNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { block });
}
_viewModel.AddItemCommand.Execute(designerItems);
}
else
{
@@ -589,50 +748,57 @@ namespace AIStudio.Wpf.DiagramDesigner
else
{
itemBase = Activator.CreateInstance(dragObject.ContentType) as DesignerItemViewModelBase;
itemBase.Icon = dragObject.Icon;
if (!string.IsNullOrEmpty(dragObject.Text))
itemBase.Text = dragObject.Text;
if (!string.IsNullOrEmpty(dragObject.Icon))
itemBase.Icon = dragObject.Icon;
itemBase.ColorViewModel = CopyHelper.Mapper(dragObject.ColorViewModel);
if (dragObject.DesiredSize != null)
{
itemBase.ItemWidth = dragObject.DesiredSize.Value.Width;
itemBase.ItemHeight = dragObject.DesiredSize.Value.Height;
}
if (dragObject.DesiredMinSize != null)
{
itemBase.MinItemWidth = dragObject.DesiredMinSize.Value.Width;
itemBase.MinItemHeight = dragObject.DesiredMinSize.Value.Height;
}
}
itemBase.Left = Math.Max(0, position.X - itemBase.GetItemWidth() / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.GetItemHeight() / 2);
_viewModel.AddCommand.Execute(itemBase);
if (itemBase is BlockDesignerItemViewModel block)
{
(_viewModel as IBlockDiagramViewModel).FinishNearBlock(new System.Collections.Generic.List<BlockDesignerItemViewModel> { block });
}
itemBase.Left = Math.Max(0, position.X - itemBase.ItemWidth / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.ItemHeight / 2);
_viewModel.AddItemCommand.Execute(itemBase);
}
}
var dragFile = e.Data.GetData(DataFormats.FileDrop);
if (dragFile != null && dragFile is string[] files)
else
{
foreach (var file in files)
var dragFile = e.Data.GetData(DataFormats.FileDrop);
if (dragFile != null && dragFile is string[] files)
{
_viewModel.ClearSelectedItemsCommand.Execute(null);
Point position = e.GetPosition(this);
ImageItemViewModel itemBase = new ImageItemViewModel();
itemBase.Icon = file;
itemBase.Suffix = System.IO.Path.GetExtension(itemBase.Icon).ToLower();
itemBase.InitWidthAndHeight();
itemBase.AutoSize();
foreach (var file in files)
{
_viewModel.ClearSelectedItems();
Point position = e.GetPosition(this);
ImageItemViewModel itemBase = new ImageItemViewModel();
itemBase.Icon = file;
itemBase.Suffix = System.IO.Path.GetExtension(itemBase.Icon).ToLower();
itemBase.InitWidthAndHeight();
itemBase.AutoSize();
itemBase.Left = Math.Max(0, position.X - itemBase.ItemWidth / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.ItemHeight / 2);
_viewModel.AddItemCommand.Execute(itemBase);
itemBase.Left = Math.Max(0, position.X - itemBase.GetItemWidth() / 2);
itemBase.Top = Math.Max(0, position.Y - itemBase.GetItemHeight() / 2);
_viewModel.AddCommand.Execute(itemBase);
}
}
}
e.Handled = true;
}
public FullyCreatedConnectorInfo FindNearPortToAttachTo()
{
foreach (var port in _viewModel.Items.OfType<DesignerItemViewModelBase>().ToList().SelectMany(n => n.Connectors))
{
if (partialConnection.OnGoingPosition.DistanceTo(port.Position) < SnappingRadius &&
partialConnection.SourceConnectorInfo.CanAttachTo(port))
return port;
}
return null;
this.Focus();
}
}
}

View File

@@ -0,0 +1,318 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Markup;
namespace AIStudio.Wpf.DiagramDesigner.Controls
{
//public class DiagramTabControl : TabControl
//{
// public DiagramTabControl()
// {
// // Attach event handler to TabControl.SelectionChanged event
// this.SelectionChanged += DiagramTabControl_SelectionChanged;
// this.IsVisibleChanged += DiagramTabControl_IsVisibleChanged;
// }
// private void DiagramTabControl_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
// {
// foreach (var item in this.Items)
// {
// if (item is DiagramViewModel viewModel)
// {
// viewModel.ShowSearch = false;
// }
// }
// }
// private void DiagramTabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
// {
// // Iterate through all TabItems and manually set the Visibility property
// foreach (var item in this.Items)
// {
// if (item is DiagramViewModel viewModel)
// {
// if (item != this.SelectedItem)
// {
// viewModel.ShowSearch = false;
// }
// }
// }
// }
//}
/// <summary>
/// Attached properties for persistent tab control
/// </summary>
/// <remarks>By default WPF TabControl bound to an ItemsSource destroys visual state of invisible tabs.
/// Set ikriv:DiagramTabControl.IsCached="True" to preserve visual state of each tab.
/// </remarks>
public static class DiagramTabControl
{
public static bool GetIsCached(DependencyObject obj)
{
return (bool)obj.GetValue(IsCachedProperty);
}
public static void SetIsCached(DependencyObject obj, bool value)
{
obj.SetValue(IsCachedProperty, value);
}
/// <summary>
/// Controls whether tab content is cached or not
/// </summary>
/// <remarks>When DiagramTabControl.IsCached is true, visual state of each tab is preserved (cached), even when the tab is hidden</remarks>
public static readonly DependencyProperty IsCachedProperty =
DependencyProperty.RegisterAttached("IsCached", typeof(bool), typeof(DiagramTabControl), new UIPropertyMetadata(false, OnIsCachedChanged));
public static DataTemplate GetTemplate(DependencyObject obj)
{
return (DataTemplate)obj.GetValue(TemplateProperty);
}
public static void SetTemplate(DependencyObject obj, DataTemplate value)
{
obj.SetValue(TemplateProperty, value);
}
/// <summary>
/// Used instead of TabControl.ContentTemplate for cached tabs
/// </summary>
public static readonly DependencyProperty TemplateProperty =
DependencyProperty.RegisterAttached("Template", typeof(DataTemplate), typeof(DiagramTabControl), new UIPropertyMetadata(null));
public static DataTemplateSelector GetTemplateSelector(DependencyObject obj)
{
return (DataTemplateSelector)obj.GetValue(TemplateSelectorProperty);
}
public static void SetTemplateSelector(DependencyObject obj, DataTemplateSelector value)
{
obj.SetValue(TemplateSelectorProperty, value);
}
/// <summary>
/// Used instead of TabControl.ContentTemplateSelector for cached tabs
/// </summary>
public static readonly DependencyProperty TemplateSelectorProperty =
DependencyProperty.RegisterAttached("TemplateSelector", typeof(DataTemplateSelector), typeof(DiagramTabControl), new UIPropertyMetadata(null));
[EditorBrowsable(EditorBrowsableState.Never)]
public static TabControl GetInternalTabControl(DependencyObject obj)
{
return (TabControl)obj.GetValue(InternalTabControlProperty);
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SetInternalTabControl(DependencyObject obj, TabControl value)
{
obj.SetValue(InternalTabControlProperty, value);
}
// Using a DependencyProperty as the backing store for InternalTabControl. This enables animation, styling, binding, etc...
[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly DependencyProperty InternalTabControlProperty =
DependencyProperty.RegisterAttached("InternalTabControl", typeof(TabControl), typeof(DiagramTabControl), new UIPropertyMetadata(null, OnInternalTabControlChanged));
[EditorBrowsable(EditorBrowsableState.Never)]
public static ContentControl GetInternalCachedContent(DependencyObject obj)
{
return (ContentControl)obj.GetValue(InternalCachedContentProperty);
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SetInternalCachedContent(DependencyObject obj, ContentControl value)
{
obj.SetValue(InternalCachedContentProperty, value);
}
// Using a DependencyProperty as the backing store for InternalCachedContent. This enables animation, styling, binding, etc...
[EditorBrowsable(EditorBrowsableState.Never)]
public static readonly DependencyProperty InternalCachedContentProperty =
DependencyProperty.RegisterAttached("InternalCachedContent", typeof(ContentControl), typeof(DiagramTabControl), new UIPropertyMetadata(null));
[EditorBrowsable(EditorBrowsableState.Never)]
public static object GetInternalContentManager(DependencyObject obj)
{
return (object)obj.GetValue(InternalContentManagerProperty);
}
[EditorBrowsable(EditorBrowsableState.Never)]
public static void SetInternalContentManager(DependencyObject obj, object value)
{
obj.SetValue(InternalContentManagerProperty, value);
}
// Using a DependencyProperty as the backing store for InternalContentManager. This enables animation, styling, binding, etc...
public static readonly DependencyProperty InternalContentManagerProperty =
DependencyProperty.RegisterAttached("InternalContentManager", typeof(object), typeof(DiagramTabControl), new UIPropertyMetadata(null));
private static void OnIsCachedChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
if (obj == null) return;
var tabControl = obj as TabControl;
if (tabControl == null)
{
throw new InvalidOperationException("Cannot set DiagramTabControl.IsCached on object of type " + args.NewValue.GetType().Name +
". Only objects of type TabControl can have DiagramTabControl.IsCached property.");
}
bool newValue = (bool)args.NewValue;
if (!newValue)
{
if (args.OldValue != null && ((bool)args.OldValue))
{
throw new NotImplementedException("Cannot change DiagramTabControl.IsCached from True to False. Turning tab caching off is not implemented");
}
return;
}
EnsureContentTemplateIsNull(tabControl);
tabControl.ContentTemplate = CreateContentTemplate();
EnsureContentTemplateIsNotModified(tabControl);
}
private static DataTemplate CreateContentTemplate()
{
const string xaml =
"<DataTemplate><Border b:DiagramTabControl.InternalTabControl=\"{Binding RelativeSource={RelativeSource AncestorType=TabControl}}\" /></DataTemplate>";
var context = new ParserContext();
context.XamlTypeMapper = new XamlTypeMapper(new string[0]);
context.XamlTypeMapper.AddMappingProcessingInstruction("b", typeof(DiagramTabControl).Namespace, typeof(DiagramTabControl).Assembly.FullName);
context.XmlnsDictionary.Add("", "http://schemas.microsoft.com/winfx/2006/xaml/presentation");
context.XmlnsDictionary.Add("b", "b");
var template = (DataTemplate)XamlReader.Parse(xaml, context);
return template;
}
private static void OnInternalTabControlChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
if (obj == null) return;
var container = obj as Decorator;
if (container == null)
{
var message = "Cannot set DiagramTabControl.InternalTabControl on object of type " + obj.GetType().Name +
". Only controls that derive from Decorator, such as Border can have a DiagramTabControl.InternalTabControl.";
throw new InvalidOperationException(message);
}
if (args.NewValue == null) return;
if (!(args.NewValue is TabControl))
{
throw new InvalidOperationException("Value of DiagramTabControl.InternalTabControl cannot be of type " + args.NewValue.GetType().Name + ", it must be of type TabControl");
}
var tabControl = (TabControl)args.NewValue;
var contentManager = GetContentManager(tabControl, container);
contentManager.UpdateSelectedTab();
}
private static ContentManager GetContentManager(TabControl tabControl, Decorator container)
{
var contentManager = (ContentManager)GetInternalContentManager(tabControl);
if (contentManager != null)
{
/*
* Content manager already exists for the tab control. This means that tab content template is applied
* again, and new instance of the Border control (container) has been created. The old container
* referenced by the content manager is no longer visible and needs to be replaced
*/
contentManager.ReplaceContainer(container);
}
else
{
// create content manager for the first time
contentManager = new ContentManager(tabControl, container);
SetInternalContentManager(tabControl, contentManager);
}
return contentManager;
}
private static void EnsureContentTemplateIsNull(TabControl tabControl)
{
if (tabControl.ContentTemplate != null)
{
throw new InvalidOperationException("TabControl.ContentTemplate value is not null. If DiagramTabControl.IsCached is True, use DiagramTabControl.Template instead of ContentTemplate");
}
}
private static void EnsureContentTemplateIsNotModified(TabControl tabControl)
{
var descriptor = DependencyPropertyDescriptor.FromProperty(TabControl.ContentTemplateProperty, typeof(TabControl));
descriptor.AddValueChanged(tabControl, (sender, args) =>
{
throw new InvalidOperationException("Cannot assign to TabControl.ContentTemplate when DiagramTabControl.IsCached is True. Use DiagramTabControl.Template instead");
});
}
public class ContentManager
{
TabControl _tabControl;
Decorator _border;
public ContentManager(TabControl tabControl, Decorator border)
{
_tabControl = tabControl;
_border = border;
_tabControl.SelectionChanged += (sender, args) => { UpdateSelectedTab(); };
}
public void ReplaceContainer(Decorator newBorder)
{
if (Object.ReferenceEquals(_border, newBorder)) return;
_border.Child = null; // detach any tab content that old border may hold
_border = newBorder;
}
public void UpdateSelectedTab()
{
_border.Child = GetCurrentContent();
}
private ContentControl GetCurrentContent()
{
var item = _tabControl.SelectedItem;
if (item == null) return null;
var tabItem = _tabControl.ItemContainerGenerator.ContainerFromItem(item);
if (tabItem == null) return null;
var cachedContent = DiagramTabControl.GetInternalCachedContent(tabItem);
if (cachedContent == null)
{
cachedContent = new ContentControl
{
DataContext = item,
ContentTemplate = DiagramTabControl.GetTemplate(_tabControl),
ContentTemplateSelector = DiagramTabControl.GetTemplateSelector(_tabControl)
};
cachedContent.SetBinding(ContentControl.ContentProperty, new Binding());
DiagramTabControl.SetInternalCachedContent(tabItem, cachedContent);
}
return cachedContent;
}
}
}
}

View File

@@ -1,16 +1,28 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner.Controls
{
public class DragThumb : Thumb
{
public static readonly DependencyProperty EditClickCountProperty = DependencyProperty.Register(
nameof(EditClickCount), typeof(int), typeof(DragThumb), new FrameworkPropertyMetadata(
2));
public int EditClickCount
{
get => (int)GetValue(EditClickCountProperty);
set => SetValue(EditClickCountProperty, value);
}
public DragThumb()
{
base.DragDelta += new DragDeltaEventHandler(DragThumb_DragDelta);
@@ -18,37 +30,65 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
base.DragCompleted += DragThumb_DragCompleted;
}
public IDiagramViewModel DiagramViewModel
{
get;set;
}
private SelectableDesignerItemViewModelBase DesignerItem
{
get
{
return DataContext as SelectableDesignerItemViewModelBase;
}
}
private List<SelectableDesignerItemViewModelBase> designerItems;
private bool drag;
private void DragThumb_DragStarted(object sender, DragStartedEventArgs e)
{
GetDesignerCanvas(this)?.Focus();
drag = false;
SelectableDesignerItemViewModelBase designerItem = this.DataContext as SelectableDesignerItemViewModelBase;
DiagramViewModel = designerItem?.Root;
if (designerItem != null && designerItem.IsSelected)
{
// we only move DesignerItems
designerItems = designerItem.Root.SelectedItems.ToList();
if (designerItem is IGroupable groupable)
{
designerItems.AddRange(designerItem.Root.SelectionService.GetGroupMembers(groupable).OfType<SelectableDesignerItemViewModelBase>());
}
//拖动连线,把连接者也一起移动
if (designerItem is ConnectionViewModel connector)
{
designerItems.Add(connector.SourceConnectorInfo.DataItem);
if (connector.IsFullConnection)
if (connector.SourceConnectorInfoFully != null)
{
designerItems.Add(connector.SourceConnectorInfoFully.DataItem);
}
if (connector.SinkConnectorInfoFully != null)
{
designerItems.Add(connector.SinkConnectorInfoFully.DataItem);
}
}
if (designerItem is PointDesignerItemViewModel)
{
designerItems = new List<SelectableDesignerItemViewModelBase> { designerItem };
}
designerItems = designerItems.Distinct().ToList();
Interlocked.Increment(ref DiagramViewModel.DoCommandManager.BeginDo);
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.BeginDo = true;
item.SetOldValue(item.Left, nameof(item.Left));
item.SetOldValue(item.Top, nameof(item.Top));
item.SetOldValue(item.TopLeft, nameof(item.TopLeft));
}
//部分连接点可以移动
foreach (ConnectionViewModel item in designerItems.OfType<ConnectionViewModel>())
{
item.SourceConnectorInfoPart?.SetOldValue(item.SourceConnectorInfoPart.Position, nameof(item.SourceConnectorInfoPart.Position));
item.SinkConnectorInfoPart?.SetOldValue(item.SinkConnectorInfoPart.Position, nameof(item.SinkConnectorInfoPart.Position));
}
e.Handled = true;
@@ -61,17 +101,61 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
private void DragThumb_DragCompleted(object sender, DragCompletedEventArgs e)
{
if (drag == false) return;
if (drag == false)
{
Interlocked.Decrement(ref DiagramViewModel.DoCommandManager.BeginDo);
return;
}
if (designerItems != null)
{
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.SetCellAlignment();
item.BeginDo = false;
item.RaiseTopLeft();
}
Interlocked.Decrement(ref DiagramViewModel.DoCommandManager.BeginDo);
var blocks = designerItems.OfType<BlockDesignerItemViewModel>().ToList();
if (blocks.Any())
{
(DiagramViewModel as IBlockDiagramViewModel)?.FinishNearBlock(blocks);
}
Dictionary<DesignerItemViewModelBase, Tuple<PointBase, PointBase>> infos =
designerItems.OfType<DesignerItemViewModelBase>().ToDictionary(p => p,
p => new Tuple<PointBase, PointBase>(p.GetOldValue<PointBase>(nameof(p.TopLeft)), p.TopLeft));
//部分连接点可以移动
Dictionary<ConnectionViewModel, Tuple<Tuple<PointBase?, PointBase?>, Tuple<PointBase?, PointBase?>>> conncetorinfos =
designerItems.OfType<ConnectionViewModel>().ToDictionary(p => p,
p => new Tuple<Tuple<PointBase?, PointBase?>, Tuple<PointBase?, PointBase?>>(
new Tuple<PointBase?, PointBase?>(p.SourceConnectorInfoPart?.GetOldValue<PointBase>(nameof(p.SourceConnectorInfoPart.Position)),
p.SinkConnectorInfoPart?.GetOldValue<PointBase>(nameof(p.SinkConnectorInfoPart.Position))),
new Tuple<PointBase?, PointBase?>(p.SourceConnectorInfoPart?.Position,
p.SinkConnectorInfoPart?.Position)));
DiagramViewModel.DoCommandManager.DoNewCommand(this.ToString(),
() => {
foreach (var info in infos)
{
info.Key.TopLeft = info.Value.Item2;
}
foreach (var info in conncetorinfos)
{
info.Key.SetPartPostion(info.Value.Item2.Item1, info.Value.Item2.Item2);
}
},
() => {
foreach (var info in infos)
{
info.Key.TopLeft = info.Value.Item1;
}
foreach (var info in conncetorinfos)
{
info.Key.SetPartPostion(info.Value.Item1.Item1, info.Value.Item1.Item2);
}
});
e.Handled = true;
}
}
@@ -81,27 +165,79 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
drag = true;
if (designerItems != null)
{
double minLeft = double.MaxValue;
double minTop = double.MaxValue;
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
double left = item.Left;
double top = item.Top;
minLeft = double.IsNaN(left) ? 0 : Math.Min(left, minLeft);
minTop = double.IsNaN(top) ? 0 : Math.Min(top, minTop);
double deltaHorizontal = Math.Max(-minLeft, e.HorizontalChange);
double deltaVertical = Math.Max(-minTop, e.VerticalChange);
item.Left += deltaHorizontal;
item.Top += deltaVertical;
item.Left += e.HorizontalChange;
item.Top += e.VerticalChange;
}
//部分连接点可以移动
foreach (ConnectionViewModel item in designerItems.OfType<ConnectionViewModel>())
{
PointBase? sourcePoint = null;
PointBase? sinkPoint = null;
if (item.SourceConnectorInfoPart != null)
{
sourcePoint = new PointBase(item.SourceConnectorInfoPart.Position.X + e.HorizontalChange, item.SourceConnectorInfoPart.Position.Y + e.VerticalChange);
}
if (item.SinkConnectorInfoPart != null)
{
sinkPoint = new PointBase(item.SinkConnectorInfoPart.Position.X + e.HorizontalChange, item.SinkConnectorInfoPart.Position.Y + e.VerticalChange);
}
item.SetPartPostion(sourcePoint, sinkPoint);
}
var blocks = designerItems.OfType<BlockDesignerItemViewModel>().ToList();
(DiagramViewModel as IBlockDiagramViewModel)?.PreviewNearBlock(blocks);
e.Handled = true;
}
}
#region
private Point? firstPoint;
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnPreviewMouseLeftButtonDown(e);
if (EditClickCount == 1)
{
if (e.LeftButton == MouseButtonState.Pressed && firstPoint == null)
{
firstPoint = e.GetPosition(this);
DesignerItem.PreviewExecuteEdit();
}
}
}
protected override void OnPreviewMouseLeftButtonUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseLeftButtonUp(e);
if (EditClickCount == 1)
{
DesignerItem.ExitPreviewExecuteEdit();
if (firstPoint == e.GetPosition(this))
{
DesignerItem.EditCommand?.Execute(e.GetPosition(this));
}
firstPoint = null;
}
}
protected override void OnPreviewMouseDoubleClick(MouseButtonEventArgs e)
{
base.OnPreviewMouseDoubleClick(e);
if (EditClickCount == 2)
{
DesignerItem.EditCommand?.Execute(e.GetPosition(this));
e.Handled = true;
}
}
#endregion
private DesignerCanvas GetDesignerCanvas(DependencyObject element)
{
while (element != null && !(element is DesignerCanvas))

View File

@@ -21,12 +21,18 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
private void DragThumb_DragStarted(object sender, DragStartedEventArgs e)
{
if (this.DataContext is ConnectorPointModel point)
{
point.DragStart = true;
}
}
private void DragThumb_DragCompleted(object sender, DragCompletedEventArgs e)
{
if (this.DataContext is ConnectorPointModel point)
{
point.DragStart = false;
}
}
void DragThumb_DragDelta(object sender, DragDeltaEventArgs e)

View File

@@ -5,7 +5,7 @@
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
x:Name="theView">
<Grid>
<Grid x:Name="grid">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />

View File

@@ -24,10 +24,25 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
InitializeComponent();
}
public void Init(double width, double height)
{
grid.Width = width;
grid.Height = height;
}
private void Ok_Click(object sender, RoutedEventArgs e)
{
this.DialogResult = true;
this.Close();
}
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
if (this.DataContext is IDisposable disposable)
{
disposable.Dispose();
}
}
}
}

View File

@@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner.Controls
{
@@ -17,21 +19,27 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
base.DragCompleted += ResizeThumb_DragCompleted;
}
public IDiagramViewModel DiagramViewModel
{
get
{
return (this.DataContext as SelectableDesignerItemViewModelBase)?.Root;
}
}
private List<SelectableDesignerItemViewModelBase> designerItems;
IDiagramViewModel diagarmViewModel;
private void ResizeThumb_DragStarted(object sender, DragStartedEventArgs e)
{
DesignerItemViewModelBase designerItem = this.DataContext as DesignerItemViewModelBase;
diagarmViewModel = designerItem.Root;
if (designerItem != null && designerItem.IsSelected)
{
designerItems = designerItem.Root.SelectedItems.ToList();
Interlocked.Increment(ref DiagramViewModel.DoCommandManager.BeginDo);
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.BeginDo = true;
item.SetOldValue(item.ItemWidth, nameof(item.ItemWidth));
item.SetOldValue(item.ItemHeight, nameof(item.ItemHeight));
item.SetOldValue(item.Size, nameof(item.Size));
}
e.Handled = true;
@@ -46,12 +54,24 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
{
if (designerItems != null)
{
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.BeginDo = false;
item.RaiseItemWidthHeight();
}
Dictionary<DesignerItemViewModelBase, Tuple<SizeBase, SizeBase>> infos =
designerItems.OfType<DesignerItemViewModelBase>().ToDictionary(p => p,
p => new Tuple<SizeBase, SizeBase>(p.GetOldValue<SizeBase>(nameof(p.Size)), p.Size));
Interlocked.Decrement(ref DiagramViewModel.DoCommandManager.BeginDo);
DiagramViewModel.DoCommandManager.DoNewCommand(this.ToString(),
() => {
foreach (var info in infos)
{
info.Key.Size = info.Value.Item2;
}
},
() => {
foreach (var info in infos)
{
info.Key.Size = info.Value.Item1;
}
});
e.Handled = true;
}
}
@@ -69,20 +89,20 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
if (item != null && item.ParentId == Guid.Empty)
if (item != null)
{
switch (base.VerticalAlignment)
{
case VerticalAlignment.Bottom:
dragDeltaVertical = Math.Min(-e.VerticalChange, minDeltaVertical);
scale = (item.ItemHeight - dragDeltaVertical) / item.ItemHeight;
DragBottom(scale, item, diagarmViewModel.SelectionService);
scale = (item.GetItemHeight() - dragDeltaVertical) / item.GetItemHeight();
DragBottom(scale, item, DiagramViewModel.SelectionService);
break;
case VerticalAlignment.Top:
double top = item.Top;
dragDeltaVertical = Math.Min(Math.Max(-minTop, e.VerticalChange), minDeltaVertical);
scale = (item.ItemHeight - dragDeltaVertical) / item.ItemHeight;
DragTop(scale, item, diagarmViewModel.SelectionService);
scale = (item.GetItemHeight() - dragDeltaVertical) / item.GetItemHeight();
DragTop(scale, item, DiagramViewModel.SelectionService);
break;
default:
break;
@@ -93,13 +113,13 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
case HorizontalAlignment.Left:
double left = item.Left;
dragDeltaHorizontal = Math.Min(Math.Max(-minLeft, e.HorizontalChange), minDeltaHorizontal);
scale = (item.ItemWidth - dragDeltaHorizontal) / item.ItemWidth;
DragLeft(scale, item, diagarmViewModel.SelectionService);
scale = (item.GetItemWidth() - dragDeltaHorizontal) / item.GetItemWidth();
DragLeft(scale, item, DiagramViewModel.SelectionService);
break;
case HorizontalAlignment.Right:
dragDeltaHorizontal = Math.Min(-e.HorizontalChange, minDeltaHorizontal);
scale = (item.ItemWidth - dragDeltaHorizontal) / item.ItemWidth;
DragRight(scale, item, diagarmViewModel.SelectionService);
scale = (item.GetItemWidth() - dragDeltaHorizontal) / item.GetItemWidth();
DragRight(scale, item, DiagramViewModel.SelectionService);
break;
default:
break;
@@ -113,36 +133,36 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
#region Helper methods
private void DragLeft(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
private void DragLeft(double scale, DesignerItemViewModelBase item, DiagramSelectionService selectionService)
{
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
double groupLeft = item.Left + item.ItemWidth;
double groupLeft = item.Left + item.GetItemWidth();
foreach (DesignerItemViewModelBase groupItem in groupItems)
{
double groupItemLeft = groupItem.Left;
double delta = (groupLeft - groupItemLeft) * (scale - 1);
groupItem.Left = groupItemLeft - delta;
groupItem.ItemWidth = groupItem.ItemWidth * scale;
groupItem.ItemWidth = groupItem.GetItemWidth() * scale;
}
}
private void DragTop(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
private void DragTop(double scale, DesignerItemViewModelBase item, DiagramSelectionService selectionService)
{
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
double groupBottom = item.Top + item.ItemHeight;
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
double groupBottom = item.Top + item.GetItemHeight();
foreach (DesignerItemViewModelBase groupItem in groupItems)
{
double groupItemTop = groupItem.Top;
double delta = (groupBottom - groupItemTop) * (scale - 1);
groupItem.Top = groupItemTop - delta;
groupItem.ItemHeight = groupItem.ItemHeight * scale;
groupItem.ItemHeight = groupItem.GetItemHeight() * scale;
}
}
private void DragRight(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
private void DragRight(double scale, DesignerItemViewModelBase item, DiagramSelectionService selectionService)
{
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
double groupLeft = item.Left;
foreach (DesignerItemViewModelBase groupItem in groupItems)
@@ -151,13 +171,13 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
double delta = (groupItemLeft - groupLeft) * (scale - 1);
groupItem.Left = groupItemLeft + delta;
groupItem.ItemWidth = groupItem.ItemWidth * scale;
groupItem.ItemWidth = groupItem.GetItemWidth() * scale;
}
}
private void DragBottom(double scale, DesignerItemViewModelBase item, SelectionService selectionService)
private void DragBottom(double scale, DesignerItemViewModelBase item, DiagramSelectionService selectionService)
{
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item).Cast<DesignerItemViewModelBase>();
IEnumerable<DesignerItemViewModelBase> groupItems = selectionService.GetGroupMembers(item, false).Cast<DesignerItemViewModelBase>();
double groupTop = item.Top;
foreach (DesignerItemViewModelBase groupItem in groupItems)
{
@@ -165,7 +185,7 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
double delta = (groupItemTop - groupTop) * (scale - 1);
groupItem.Top = groupItemTop + delta;
groupItem.ItemHeight = groupItem.ItemHeight * scale;
groupItem.ItemHeight = groupItem.GetItemHeight() * scale;
}
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
@@ -24,6 +25,14 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
DragCompleted += RotateThumb_DragCompleted;
}
public IDiagramViewModel DiagramViewModel
{
get
{
return (this.DataContext as SelectableDesignerItemViewModelBase)?.Root;
}
}
private List<SelectableDesignerItemViewModelBase> designerItems;
private void RotateThumb_DragStarted(object sender, DragStartedEventArgs e)
@@ -34,9 +43,9 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
{
designerItems = designerItem.Root.SelectedItems.ToList();
Interlocked.Increment(ref DiagramViewModel.DoCommandManager.BeginDo);
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.BeginDo = true;
item.SetOldValue(this.designerItem.Angle, nameof(this.designerItem.Angle));
}
@@ -44,8 +53,8 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
if (this.designerCanvas != null)
{
this.centerPoint =
new Point(this.designerItem.Left + this.designerItem.ItemWidth * 0.5,
this.designerItem.Top + this.designerItem.ItemHeight * 0.5);
new Point(this.designerItem.Left + this.designerItem.GetItemHeight() * 0.5,
this.designerItem.Top + this.designerItem.GetItemHeight() * 0.5);
Point startPoint = Mouse.GetPosition(this.designerCanvas);
this.startVector = Point.Subtract(startPoint, this.centerPoint);
@@ -67,12 +76,23 @@ namespace AIStudio.Wpf.DiagramDesigner.Controls
if (this.designerItems != null)
{
foreach (DesignerItemViewModelBase item in designerItems.OfType<DesignerItemViewModelBase>())
{
item.BeginDo = false;
item.RaiseAngle();
}
Dictionary<DesignerItemViewModelBase, Tuple<double, double>> infos =
designerItems.OfType<DesignerItemViewModelBase>().ToDictionary(p => p,
p => new Tuple<double, double>(p.GetOldValue<double>(nameof(p.Angle)), p.Angle));
Interlocked.Decrement(ref DiagramViewModel.DoCommandManager.BeginDo);
DiagramViewModel.DoCommandManager.DoNewCommand(this.ToString(),
() => {
foreach (var info in infos)
{
info.Key.Angle = info.Value.Item2;
}
},
() => {
foreach (var info in infos)
{
info.Key.Angle = info.Value.Item1;
}
});
e.Handled = true;
}
}

View File

@@ -4,6 +4,8 @@ using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Media;
using System.Windows.Input;
using AIStudio.Wpf.DiagramDesigner.Helpers;
using System.Diagnostics;
namespace AIStudio.Wpf.DiagramDesigner
{
@@ -12,70 +14,211 @@ namespace AIStudio.Wpf.DiagramDesigner
private Thumb zoomThumb;
private Canvas zoomCanvas;
private Slider zoomSlider;
private ScaleTransform scaleTransform;
#region DPs
#region ScrollViewer
public ScrollViewer ScrollViewer
{
get { return (ScrollViewer)GetValue(ScrollViewerProperty); }
set { SetValue(ScrollViewerProperty, value); }
get
{
return (ScrollViewer)GetValue(ScrollViewerProperty);
}
set
{
SetValue(ScrollViewerProperty, value);
}
}
public static readonly DependencyProperty ScrollViewerProperty =
DependencyProperty.Register(nameof(ScrollViewer), typeof(ScrollViewer), typeof(ZoomBox));
#endregion
#region DesignerCanvas
#region FrameworkElement
public static readonly DependencyProperty DesignerCanvasProperty =
DependencyProperty.Register(nameof(DesignerCanvas), typeof(DesignerCanvas), typeof(ZoomBox),
DependencyProperty.Register(nameof(DesignerCanvas), typeof(FrameworkElement), typeof(ZoomBox),
new FrameworkPropertyMetadata(null,
new PropertyChangedCallback(OnDesignerCanvasChanged)));
public DesignerCanvas DesignerCanvas
public FrameworkElement DesignerCanvas
{
get { return (DesignerCanvas)GetValue(DesignerCanvasProperty); }
set { SetValue(DesignerCanvasProperty, value); }
get
{
return (FrameworkElement)GetValue(DesignerCanvasProperty);
}
set
{
SetValue(DesignerCanvasProperty, value);
}
}
private static void OnDesignerCanvasChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
ZoomBox target = (ZoomBox)d;
DesignerCanvas oldDesignerCanvas = (DesignerCanvas)e.OldValue;
DesignerCanvas newDesignerCanvas = target.DesignerCanvas;
FrameworkElement oldDesignerCanvas = (FrameworkElement)e.OldValue;
FrameworkElement newDesignerCanvas = (FrameworkElement)e.NewValue;
target.OnDesignerCanvasChanged(oldDesignerCanvas, newDesignerCanvas);
}
protected virtual void OnDesignerCanvasChanged(DesignerCanvas oldDesignerCanvas, DesignerCanvas newDesignerCanvas)
protected virtual void OnDesignerCanvasChanged(FrameworkElement oldDesignerCanvas, FrameworkElement newDesignerCanvas)
{
if (oldDesignerCanvas != null)
{
newDesignerCanvas.LayoutUpdated -= new EventHandler(this.DesignerCanvas_LayoutUpdated);
newDesignerCanvas.MouseWheel -= new MouseWheelEventHandler(this.DesignerCanvas_MouseWheel);
oldDesignerCanvas.LayoutUpdated -= this.DesignerCanvas_LayoutUpdated;
oldDesignerCanvas.MouseDown -= this.DesignerCanvas_MouseRightButtonDown;
oldDesignerCanvas.MouseUp -= this.DesignerCanvas_MouseRightButtonUp;
oldDesignerCanvas.MouseMove -= this.DesignerCanvas_MouseMove;
}
if (newDesignerCanvas != null)
{
newDesignerCanvas.LayoutUpdated += new EventHandler(this.DesignerCanvas_LayoutUpdated);
newDesignerCanvas.MouseWheel += new MouseWheelEventHandler(this.DesignerCanvas_MouseWheel);
newDesignerCanvas.LayoutTransform = this.scaleTransform;
newDesignerCanvas.LayoutUpdated += this.DesignerCanvas_LayoutUpdated;
newDesignerCanvas.MouseRightButtonDown += this.DesignerCanvas_MouseRightButtonDown;
newDesignerCanvas.MouseRightButtonUp += this.DesignerCanvas_MouseRightButtonUp;
newDesignerCanvas.MouseMove += this.DesignerCanvas_MouseMove;
}
}
#endregion
public static readonly DependencyProperty OffSetProperty =
DependencyProperty.Register(nameof(OffSet), typeof(bool), typeof(ZoomBox), new UIPropertyMetadata(false));
public bool OffSet
{
get
{
return (bool)GetValue(OffSetProperty);
}
set
{
SetValue(OffSetProperty, value);
}
}
public static readonly DependencyProperty ZoomValueProperty =
DependencyProperty.Register(nameof(ZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(1d));
public double ZoomValue
{
get
{
return (double)GetValue(ZoomValueProperty);
}
set
{
SetValue(ZoomValueProperty, value);
}
}
public static readonly DependencyProperty MaximumZoomValueProperty =
DependencyProperty.Register(nameof(MaximumZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(3d));
public double MaximumZoomValue
{
get
{
return (double)GetValue(MaximumZoomValueProperty);
}
set
{
SetValue(MaximumZoomValueProperty, value);
}
}
public static readonly DependencyProperty MinimumZoomValueProperty =
DependencyProperty.Register(nameof(MinimumZoomValue), typeof(double), typeof(ZoomBox), new UIPropertyMetadata(0.5d));
public double MinimumZoomValue
{
get
{
return (double)GetValue(MinimumZoomValueProperty);
}
set
{
SetValue(MinimumZoomValueProperty, value);
}
}
public static readonly DependencyProperty FitViewModelProperty =
DependencyProperty.Register(nameof(FitViewModel), typeof(FitViewModel), typeof(ZoomBox),
new FrameworkPropertyMetadata(null,
new PropertyChangedCallback(OnFitViewModelChanged)));
public FitViewModel FitViewModel
{
get
{
return (FitViewModel)GetValue(FitViewModelProperty);
}
set
{
SetValue(FitViewModelProperty, value);
}
}
private static void OnFitViewModelChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
ZoomBox target = (ZoomBox)d;
var fitviewmodel = e.NewValue as FitViewModel;
if (fitviewmodel != null)
{
target.OnFitViewModelChanged(fitviewmodel);
}
}
private void OnFitViewModelChanged(FitViewModel fitViewModel)
{
if (IsLoaded && fitViewModel != null)
{
if (fitViewModel.FitMode == FitMode.None)
{
}
else if (fitViewModel.FitMode == FitMode.FitWidth)
{
ZoomValue = (this.ScrollViewer.ViewportWidth * fitViewModel.PaddingRate) / fitViewModel.BoundingRect.Width;
}
else if (fitViewModel.FitMode == FitMode.FitHeight)
{
ZoomValue = (this.ScrollViewer.ViewportHeight * fitViewModel.PaddingRate) / fitViewModel.BoundingRect.Height;
}
else if (fitViewModel.FitMode == FitMode.FitAuto)
{
ZoomValue = Math.Min(
(this.ScrollViewer.ViewportWidth * fitViewModel.PaddingRate) / fitViewModel.BoundingRect.Width,
(this.ScrollViewer.ViewportHeight * fitViewModel.PaddingRate) / fitViewModel.BoundingRect.Height
);
}
double xOffset, yOffset;
xOffset = fitViewModel.BoundingRect.Left * ZoomValue - (this.ScrollViewer.ViewportWidth - fitViewModel.BoundingRect.Width * ZoomValue) / 2;
yOffset = fitViewModel.BoundingRect.Top * ZoomValue - (this.ScrollViewer.ViewportHeight - fitViewModel.BoundingRect.Height * ZoomValue) / 2;
if (OffSet)
{
Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(DesignerCanvas);
xOffset += vector.X;
yOffset += vector.Y;
}
this.ScrollViewer.ScrollToHorizontalOffset(xOffset);
this.ScrollViewer.ScrollToVerticalOffset(yOffset);
}
}
#endregion
#endregion
public ZoomBox()
{
this.Loaded += ZoomBox_Loaded;
}
private void ZoomBox_Loaded(object sender, RoutedEventArgs e)
{
OnFitViewModelChanged(FitViewModel);
}
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
this.ScrollViewer = VisualHelper.TryFindParent<ScrollViewer>(this.DesignerCanvas);
if (this.ScrollViewer == null)
return;
@@ -93,9 +236,11 @@ namespace AIStudio.Wpf.DiagramDesigner
this.zoomThumb.DragDelta += new DragDeltaEventHandler(this.Thumb_DragDelta);
this.zoomSlider.ValueChanged += new RoutedPropertyChangedEventHandler<double>(this.ZoomSlider_ValueChanged);
this.scaleTransform = new ScaleTransform();
}
private static object thisLock = new Object();
private void ZoomSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double scale = e.NewValue / e.OldValue;
@@ -103,8 +248,6 @@ namespace AIStudio.Wpf.DiagramDesigner
double newVerticalOffset = ((this.ScrollViewer.VerticalOffset + halfViewportHeight) * scale - halfViewportHeight);
double halfViewportWidth = this.ScrollViewer.ViewportWidth / 2;
double newHorizontalOffset = ((this.ScrollViewer.HorizontalOffset + halfViewportWidth) * scale - halfViewportWidth);
this.scaleTransform.ScaleX *= scale;
this.scaleTransform.ScaleY *= scale;
this.ScrollViewer.ScrollToHorizontalOffset(newHorizontalOffset);
this.ScrollViewer.ScrollToVerticalOffset(newVerticalOffset);
}
@@ -119,44 +262,111 @@ namespace AIStudio.Wpf.DiagramDesigner
private void DesignerCanvas_LayoutUpdated(object sender, EventArgs e)
{
//htzk
try
{
double scale, xOffset, yOffset;
this.InvalidateScale(out scale, out xOffset, out yOffset);
this.zoomThumb.Width = this.ScrollViewer.ViewportWidth * scale;
this.zoomThumb.Height = this.ScrollViewer.ViewportHeight * scale;
this.zoomThumb.Width = (this.ScrollViewer.ViewportWidth) * scale;
this.zoomThumb.Height = (this.ScrollViewer.ViewportHeight) * scale;
Canvas.SetLeft(this.zoomThumb, xOffset + this.ScrollViewer.HorizontalOffset * scale);
Canvas.SetTop(this.zoomThumb, yOffset + this.ScrollViewer.VerticalOffset * scale);
}
catch { }
}
private void DesignerCanvas_MouseWheel(object sender, EventArgs e)
/// <summary>
/// 用于记录鼠标按下的点
/// </summary>
private Point _clickPoint = new Point(0, 0);
private void DesignerCanvas_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
MouseWheelEventArgs wheel = (MouseWheelEventArgs)e;
//divide the value by 10 so that it is more smooth
double value = Math.Max(0, wheel.Delta / 10);
value = Math.Min(wheel.Delta, 10);
this.zoomSlider.Value += value;
_clickPoint = e.GetPosition((FrameworkElement)sender);
DesignerCanvas.Cursor = Cursors.Hand;
}
private void DesignerCanvas_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
DesignerCanvas.Cursor = Cursors.Arrow;
}
private void DesignerCanvas_MouseMove(object sender, MouseEventArgs e)
{
if (e.RightButton == MouseButtonState.Pressed)
{
FrameworkElement cabSender = (FrameworkElement)sender;
double x;
double y;
Point p = e.MouseDevice.GetPosition(cabSender);
x = _clickPoint.X - p.X;
y = _clickPoint.Y - p.Y;
ScrollViewer?.ScrollToHorizontalOffset(ScrollViewer.HorizontalOffset + x);
ScrollViewer?.ScrollToVerticalOffset(ScrollViewer.VerticalOffset + y);
}
}
private void InvalidateScale(out double scale, out double xOffset, out double yOffset)
{
double w = DesignerCanvas.ActualWidth * this.scaleTransform.ScaleX;
double h = DesignerCanvas.ActualHeight * this.scaleTransform.ScaleY;
if (OffSet)
{
Vector vector = System.Windows.Media.VisualTreeHelper.GetOffset(DesignerCanvas);
double w = DesignerCanvas.ActualWidth + vector.X * 2;
double h = DesignerCanvas.ActualHeight + vector.Y * 2;
// zoom canvas size
double x = this.zoomCanvas.ActualWidth;
double y = this.zoomCanvas.ActualHeight;
double scaleX = x / w;
double scaleY = y / h;
scale = (scaleX < scaleY) ? scaleX : scaleY;
xOffset = (x - scale * w) / 2;
yOffset = (y - scale * h) / 2;
}
else
{
double w = DesignerCanvas.ActualWidth;
double h = DesignerCanvas.ActualHeight;
// zoom canvas size
double x = this.zoomCanvas.ActualWidth;
double y = this.zoomCanvas.ActualHeight;
double scaleX = x / w;
double scaleY = y / h;
scale = (scaleX < scaleY) ? scaleX : scaleY;
xOffset = (x - scale * w) / 2;
yOffset = (y - scale * h) / 2;
}
// zoom canvas size
double x = this.zoomCanvas.ActualWidth;
double y = this.zoomCanvas.ActualHeight;
double scaleX = x / w;
double scaleY = y / h;
scale = (scaleX < scaleY) ? scaleX : scaleY;
xOffset = (x - scale * w) / 2;
yOffset = (y - scale * h) / 2;
}
}
public class FitViewModel
{
public Rect BoundingRect
{
get; set;
}
public FitMode FitMode
{
get; set;
}
public double PaddingRate
{
get; set;
} = 0.9;
}
public enum FitMode
{
None,
FitAuto,
FitWidth,
FitHeight,
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Globalization;
using System.Windows.Data;
namespace AIStudio.Wpf.DiagramDesigner
{
public class AdditionConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((value != null) && (parameter != null))
{
var firstValue = (double)value;
var secondValue = double.Parse(parameter?.ToString());
return firstValue + secondValue;
}
return 0d;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

View File

@@ -9,7 +9,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is ArrowPathStyle arrowStyle)
if (value is PathStyle arrowStyle)
{
return ArrowPathData.Arrow[arrowStyle];
}

View File

@@ -8,7 +8,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is ArrowSizeStyle arrowStyle)
if (value is SizeStyle arrowStyle)
{
return (int)arrowStyle;
}

View File

@@ -0,0 +1,26 @@
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;
namespace AIStudio.Wpf.DiagramDesigner
{
public class BrushOpacityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is SolidColorBrush brush)
{
var opacity = System.Convert.ToDouble(parameter, CultureInfo.InvariantCulture);
return new SolidColorBrush(brush.Color)
{
Opacity = opacity
};
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
=> Binding.DoNothing;
}
}

View File

@@ -22,175 +22,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
else if (value is ColorObject colorObject)
{
if (colorObject.BrushType == BrushType.None)
brush = new SolidColorBrush(Colors.Transparent);
else if (colorObject.BrushType == BrushType.SolidColorBrush)
brush = new SolidColorBrush(colorObject.Color);
else if (colorObject.BrushType == BrushType.LinearGradientBrush)
{
Point startPoint;
Point endPoint;
if (colorObject.LinearOrientation == LinearOrientation.LeftToRight)
{
startPoint = new Point(0, 0.5);
endPoint = new Point(1, 0.5);
}
else if (colorObject.LinearOrientation == LinearOrientation.LeftTopToRightBottom)
{
startPoint = new Point(0, 0);
endPoint = new Point(1, 1);
}
else if (colorObject.LinearOrientation == LinearOrientation.TopToBottom)
{
startPoint = new Point(0.5, 0);
endPoint = new Point(0.5, 1);
}
else if (colorObject.LinearOrientation == LinearOrientation.RightTopToLeftBottom)
{
startPoint = new Point(1, 0);
endPoint = new Point(0, 1);
}
else if (colorObject.LinearOrientation == LinearOrientation.RightToLeft)
{
startPoint = new Point(1, 0.5);
endPoint = new Point(0, 0.5);
}
else if (colorObject.LinearOrientation == LinearOrientation.RightBottomToLeftTop)
{
startPoint = new Point(1, 1);
endPoint = new Point(0, 0);
}
else if (colorObject.LinearOrientation == LinearOrientation.BottomToTop)
{
startPoint = new Point(0.5, 1);
endPoint = new Point(0.5, 0);
}
else if (colorObject.LinearOrientation == LinearOrientation.LeftBottomToRightTop)
{
startPoint = new Point(0, 1);
endPoint = new Point(1, 0);
}
else
{
startPoint = new Point(0, 0.5);
endPoint = new Point(1, 0.5);
}
LinearGradientBrush myBrush = new LinearGradientBrush();
myBrush.StartPoint = startPoint;
myBrush.EndPoint = endPoint;
if (colorObject.GradientStop != null)
{
foreach (var stop in colorObject.GradientStop)
{
myBrush.GradientStops.Add(new System.Windows.Media.GradientStop(stop.Color, stop.Offset));
}
}
brush = myBrush;
RotateTransform rotateTransform = new RotateTransform(colorObject.Angle, 0.5, 0.5);
myBrush.RelativeTransform = rotateTransform;
}
else if (colorObject.BrushType == BrushType.RadialGradientBrush)
{
Point center;
Point gradientOrigin;
double radiusX;
double radiusY;
if (colorObject.RadialOrientation == RadialOrientation.LeftTop)
{
center = new Point(0, 0);
gradientOrigin = center;
radiusX = 1;
radiusY = 1;
}
else if (colorObject.RadialOrientation == RadialOrientation.RightTop)
{
center = new Point(1, 0);
gradientOrigin = center;
radiusX = 1;
radiusY = 1;
}
else if (colorObject.RadialOrientation == RadialOrientation.RightBottom)
{
center = new Point(1, 1);
gradientOrigin = center;
radiusX = 1;
radiusY = 1;
}
else if (colorObject.RadialOrientation == RadialOrientation.LeftBottom)
{
center = new Point(0, 1);
gradientOrigin = center;
radiusX = 1;
radiusY = 1;
}
else
{
center = new Point(0.5, 0.5);
gradientOrigin = center;
radiusX = 0.5;
radiusY = 0.5;
}
RadialGradientBrush myBrush = new RadialGradientBrush();
myBrush.Center = center;
myBrush.GradientOrigin = gradientOrigin;
myBrush.RadiusX = radiusX;
myBrush.RadiusY = radiusY;
if (colorObject.GradientStop != null)
{
foreach (var stop in colorObject.GradientStop)
{
myBrush.GradientStops.Add(new System.Windows.Media.GradientStop(stop.Color, stop.Offset));
}
}
brush = myBrush;
RotateTransform rotateTransform = new RotateTransform(colorObject.Angle, 0.5, 0.5);
myBrush.RelativeTransform = rotateTransform;
}
else if (colorObject.BrushType == BrushType.ImageBrush)
{
ImageBrush myBrush = new ImageBrush();
myBrush.ImageSource = new BitmapImage(new Uri(colorObject.Image, UriKind.Absolute));
brush = myBrush;
}
else if (colorObject.BrushType == BrushType.DrawingBrush)
{
DrawingBrush myBrush = new DrawingBrush();
GeometryDrawing backgroundSquare =
new GeometryDrawing(
Brushes.White,
null,
new RectangleGeometry(new Rect(0, 0, 100, 100)));
GeometryGroup aGeometryGroup = new GeometryGroup();
aGeometryGroup.Children.Add(new RectangleGeometry(new Rect(0, 0, 50, 50)));
aGeometryGroup.Children.Add(new RectangleGeometry(new Rect(50, 50, 50, 50)));
LinearGradientBrush checkerBrush = new LinearGradientBrush();
checkerBrush.GradientStops.Add(new System.Windows.Media.GradientStop(Colors.Black, 0.0));
checkerBrush.GradientStops.Add(new System.Windows.Media.GradientStop(Colors.Gray, 1.0));
GeometryDrawing checkers = new GeometryDrawing(checkerBrush, null, aGeometryGroup);
DrawingGroup checkersDrawingGroup = new DrawingGroup();
checkersDrawingGroup.Children.Add(backgroundSquare);
checkersDrawingGroup.Children.Add(checkers);
myBrush.Drawing = checkersDrawingGroup;
myBrush.Viewport = new Rect(0, 0, 0.25, 0.25);
myBrush.TileMode = TileMode.Tile;
brush = myBrush;
}
if (brush != null)
{
brush.Opacity = colorObject.Opacity;
}
brush = colorObject.ToBrush();
}
else if (value is ObservableCollection<GradientStop> gradientStop)
{

Some files were not shown because too many files have changed in this diff Show More