连接概述 - miroiu/nodify GitHub Wiki
连接是由两个点之间创建的。Source和Target依赖属性是Point类型,通常绑定到连接器的Anchor点。
库中所有连接的基类是BaseConnection,它派生自Shape。在创建自定义连接时,可以不受任何限值地从BaseConnection派生。
它公开了两个命令及其对应的事件:
-
DisconnectCommand及DisconnectEvent- 当按住ALT点击连接时触发 -
SplitCommand及SplitEvent- 当双击连接时触发
连接的Direction有两种值:
Forward

Backward

SourceOffset和TargetOffset与OffsetMode一起使用,会控制与锚点的距离:

连接还有一个Spacing属性,会使连接在一段距离后转折到沿着从Source和Target点的方向:
- 有间距:

- 无间距:

将ArrowSize设置为"0, 0"会移除箭头。
一条从Source到Target的直线。

有一个Angle依赖属性来控制转折的位置。角度以度为单位。

Source和Target之间的贝塞尔曲线。

可以从连接器创建预备连接,并可以放置在ItemContainer或Connector上(如果AllowOnlyConnectors为false)。
预备连接的Content可以使用ContentTemplate进行自定义。如果EnablePreview为true,PreviewTarget将更新为鼠标光标下的连接器或项目容器,或者为null(如果没有这样的元素)。

预备连接的可见性可以使用IsVisible依赖属性进行控制。
连接器的连接捕捉可以使用EnableSnapping依赖属性启用。
Source和Target属性是连接器的数据上下文,预备连接完成时Target将更新。
还有一个StartedCommand,参数是Source,以及一个CompletedCommand,参数是Target。
提示:取消预备连接的方法是释放右键。